Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Hier bekommst Du deutschsprachigen Support bezüglich offizieller Module für phpwcms. Keine Fehlermeldungen oder Erweiterungswünsche bitte!
Post Reply
flax
Posts: 63
Joined: Fri 20. Jan 2006, 10:06

Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by flax »

Hallo!

Ich habe das Shop Modul etwas zweckentfremdet (default.html angepasst und eingedeutscht) und nutze es als Anfrage für ein Angebot.

Soweit funktioniert vordergründig auch alles (Warenkorb, Abfrage der Daten, Versand der Mails, Eintrag in die Datenbank), allerdings tauchen bei der Anzeige der Bestelldetails im Backend 2 Fehlermeldungen auf:

1)
Warning: Invalid argument supplied for foreach() in /is/htdocs/wp10551198_TJ4BM4Y1SW/www/include/inc_module/mod_shop/inc/show.orders.inc.php on line 130

2)
Warning: Invalid argument supplied for foreach() in /is/htdocs/wp10551198_TJ4BM4Y1SW/www/include/inc_module/mod_shop/inc/show.orders.inc.php on line 179

Hier mal die umgemodelte default.html:

Code: Select all

<!--CONFIG_START//-->

cat_all = "Alle Artikel"
cat_list_products = Off

; sort list by fieldnames, check DB
; sort by Name - "shopprod_name1 ASC"
; sort by Viewed - "shopprod_track_view DESC"
cat_list_sort_by = "shopprod_name1 ASC"

price_decimals = 2
vat_decimals = 0
weight_decimals = 0
dec_point = ","
thousands_sep = "."

image_list_width = 100
image_list_height = 100
image_list_crop = FALSE
image_detail_width = 200
image_detail_height = 200
image_detail_crop = TRUE
image_zoom_width = 750
image_zoom_height = 500
image_list_lightbox = TRUE
image_detail_lightbox = TRUE

mail_customer_subject = "[#{ORDER}] Ihre Preisanfrage bei der XXX GmbH"
mail_neworder_subject = "[#{ORDER}] Neue Preisanfrage"

label_payby_prepay = "Vorauskasse"
label_payby_pod = "Nachnahme"
label_payby_onbill = "Auf Rechnung"

; Add custom fields, only for step 1
; (where customer fill in address information)
; The label information is just optional
; and only used to set default error messages
; format: shop_field_1 = STRING_REQ_Label
shop_field_1 = STRING_Telefax

; possible:
; ---------
; RANDOM or
; sprintf() formatted http://php.net/sprintf
; sample: %05s -> 00001
order_number_style = %05s


<!--CONFIG_END//-->


<!--LIST_HEADER_START//-->
<!--<h1>{CATEGORY}</h1>//-->
<div style="text-align: left; margin: 0 0;   width: 700px;   padding: 0">

<!--LIST_HEADER_END//-->


<!--LIST_ENTRY_START//-->

        <div class="entry" >
                [IMAGE]<div class="image">{IMAGE}</div>[/IMAGE]

                <div class="produktkurzbeschreibung" >
                        <h3><strong>{PRODUCT_TITLE}</strong></h3>
                        <div>{PRODUCT_SHORT}</div>
                       <!-- <h3><strong>{PRODUCT_NET_PRICE} EUR</strong></h3><em>{PRODUCT_NET_PRICE} {CURRENCY_SYMBOL}</em>//-->
                        <!--<em>{PRODUCT_VAT}%</em>
                        <em>{PRODUCT_GROSS_PRICE} {CURRENCY_SYMBOL}</em>//-->




                        [PRODUCT_URL]<a href="{PRODUCT_URL}"{PRODUCT_URL_TARGET}>mehr Info&#8216;s&#8230;</a>[/PRODUCT_URL]

                        <div class="cart_add">[CART_ADD]zum Merkzettel f&uuml;r Preisanfrage[/CART_ADD]</div>
                        <!--[VIEWED]<em>Bisher aufgerufen: {VIEWED}</em> [/VIEWED]//-->
                </div>
<hr style="margin:15px 0 20px 0;  border-bottom:3px #eee solid; clear:both" />

        </div>
<!--LIST_ENTRY_END//-->

<!--LIST_NONE_START//-->
        <p>Kein Produkt gefunden</p>
<!--LIST_NONE_END//-->


<!--LIST_SPACE_START
        <hr />//-->
<!--LIST_SPACE_END//-->


<!--LIST_FOOTER_START//-->
</div>
<!--LIST_FOOTER_END//-->


<!--DETAIL_START//-->

<div class="detail">

        <h1>{PRODUCT_TITLE}</h1>
        [PRODUCT_ADD]<h2>{PRODUCT_ADD}</h2>[/PRODUCT_ADD]
        <div>
                {PRODUCT_LONG}

                [IMAGE]<div class="image">{IMAGE}</div>[/IMAGE]

                <em>{PRODUCT_NET_PRICE} {CURRENCY_SYMBOL}</em>
                <em>{PRODUCT_VAT}%</em>
                <em>{PRODUCT_GROSS_PRICE} {CURRENCY_SYMBOL}</em>

                [ORDER_NUM]<p>Bestellnummer: {ORDER_NUM}</p>[/ORDER_NUM]
                [MODEL]<p>Modell: {MODEL}</p>[/MODEL]
                [VIEWED]<p>Bisher aufgerufen: {VIEWED}</p>[/VIEWED]
                [PRODUCT_URL]<p>Mehr: <a href="{PRODUCT_URL}"{PRODUCT_URL_TARGET}>Visit&nbsp;&raquo;</a></p>[/PRODUCT_URL]

                [CART_ADD]Auf den Merkzettel[/CART_ADD]
        </div>
        <div><a href="{PRODUCT_DETAIL_LINK}">Alle anzeigen</a></div>

</div>


<!--DETAIL_END//-->

<!--IMAGE_SPACE_START//-->

<!--IMAGE_SPACE_END//-->


<!--CART_SMALL_START//-->
<div style="padding:20px;">

        <p>
                [COUNT]<a href="{CART_LINK}">{COUNT} Produkte auf dem Merkzettel</a>[/COUNT][COUNT_ELSE]Sie haben noch keinen Artikel auf Ihrem Merkzettel[/COUNT_ELSE]
        </p>
</div>
<!--CART_SMALL_END//-->


<!--CART_HEADER_START//-->
<div class="cart">
        
        <table cellpadding="0" cellspacing="0" border="0" summary="cart">
                <tr class="cart_header">
                        <td>Artikelbezeichnung:</td>
                        <td><!--Preis {CURRENCY_SYMBOL}: --></td>
                        <td>Menge:</td>
                </tr>
<!--CART_HEADER_END//-->

<!--CART_ENTRY_START//-->
                <tr>
                        <td><a href="{PRODUCT_DETAIL_LINK}">{PRODUCT_TITLE}</a>[PRODUCT_SHORT]<br />
                        {PRODUCT_SHORT}[/PRODUCT_SHORT] [PRODUCT_WEIGHT]
                        <p> Gewicht: {PRODUCT_WEIGHT}{WEIGHT_UNIT}</p>[/PRODUCT_WEIGHT]</td>
                        <td align="right">
                                <!--{PRODUCT_NET_PRICE} {CURRENCY_SYMBOL} <br />
                                MwSt.: {PRODUCT_VAT}% <br />
                                {PRODUCT_GROSS_PRICE} {CURRENCY_SYMBOL}     -->
                        </td>
                        <td>{COUNT}</td>
                </tr>
<!--CART_ENTRY_END//-->

<!--CART_SPACE_START//-->
                <tr>
                        <td colspan="3"><hr /></td>
                </tr>
<!--CART_SPACE_END//-->
<!--
<!--CART_FOOTER_START//-->

         </table>

        <hr style="color: rgb(77, 135, 199); height: 1px; border: 1px solid; margin-top: 20px; margin-bottom: 20px;">

        <div>
                <a href="{SHOP_LINK}"><input type="submit" name="shop_cart_update" value="weiter Einkaufen" class="cart_update_button" /></a>

                [UPDATE]Merkzettel aktualisieren[/UPDATE]
                [CHECKOUT]Preisanfrage anfordern[/CHECKOUT]
        </div>
</div>
<!--CART_FOOTER_END//-->

<!--CART_NONE_START//-->
<div class="cart">
        <h1>Merkzettel</h1>
        <p>Merkzettel ist leer! <a href="{SHOP_LINK}"><input type="submit" name="shop_cart_update" value="weiter Einkaufen" class="cart_update_button" /></a></p>
</div>
<!--CART_NONE_END//-->

<!--ORDER_INV_ADDRESS_START//-->
<h1>Ihre Adressdaten</h1>
<p>Bittte geben Sie Ihre Daten ein, damit wir Ihnen ein Angebot zuschicken k&ouml;nnen. </p>
[IF_ERROR]<p>Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben, Felder oder Daten fehlen!</p>[/IF_ERROR]
[ERROR_INV_FIRSTNAME]<p>Bitte &uuml;berpr&uuml;fen Sie Ihren Firmennamen!</p>[/ERROR_INV_FIRSTNAME]
[ERROR_INV_NAME]<p>Bitte &uuml;berpr&uuml;fen Sie Ihren Namen!</p>[/ERROR_INV_NAME]
[ERROR_INV_ADDRESS]<p>Bitte &uuml;berpr&uuml;fen Sie Ihre Adresse!</p>[/ERROR_INV_ADDRESS]
[ERROR_INV_ZIP]<p>Bitte &uuml;berpr&uuml;fen Sie die PLZ!</p>[/ERROR_INV_ZIP]
[ERROR_INV_CITY]<p>Bitte &uuml;berpr&uuml;fen Sie den Ort!</p>[/ERROR_INV_CITY]
[ERROR_EMAIL]<p>Bitte &uuml;berpr&uuml;fen Sie Ihre E-Mail-Adresse!</p>[/ERROR_EMAIL]
[ERROR_PHONE]<p>Bitte &uuml;berpr&uuml;fen Sie Ihre Telefonnummer!</p>[/ERROR_PHONE]
[ERROR_shop_field_1]<p>Bitte &uuml;berpr&uuml;fen Sie Ihre Faxnummer!</p>[/ERROR_shop_field_1]
<table cellpadding="1" cellspacing="0" border="0" summary="cart">
        <tr>
                <td>Firmenname *:</td>
                <td><input type="text" name="shop_inv_firstname" id="shop_inv_firstname" value="{INV_FIRSTNAME}" size="40" maxlength="100" /></td>
        </tr>
        <tr>
                <td>Ansprechpartner *:</td>
                <td><input type="text" name="shop_inv_name" id="shop_inv_name" value="{INV_NAME}" size="40" maxlength="100" /></td>
        </tr>
        <tr>
                <td>Strasse, Hausnr. *:</td>
                <td><textarea name="shop_inv_address" id="shop_inv_address">{INV_ADDRESS}</textarea></td>
        </tr>
        <tr>
                <td>PLZ *:</td>
                <td><input type="text" name="shop_inv_zip" id="shop_inv_zip" value="{INV_ZIP}" size="5" maxlength="10" /></td>
        </tr>
        <tr>
                <td>Ort *:</td>
                <td><input type="text" name="shop_inv_city" id="shop_inv_city" value="{INV_CITY}" size="40" maxlength="100" /></td>
        </tr>
        <tr>
                <td>Land:</td>
                <td><input type="text" name="shop_inv_country" id="shop_inv_country" value="{INV_COUNTRY}" size="40" maxlength="100" /></td>
        </tr>
        <tr>
                <td>E-Mail *:</td>
                <td><input type="text" name="shop_email" id="shop_email" value="{EMAIL}" size="20" maxlength="100" /></td>
        </tr>
        <tr>
                <td>Telefon *:</td>
                <td><input type="text" name="shop_phone" id="shop_phone" value="{PHONE}" size="20" maxlength="20" /></td>
        </tr>

        <tr>
                <td>Telefax *:</td>
                <td><input type="text" name="shop_field_1" id="shop_field_1" value="{shop_field_1}" size="20" maxlength="20" /></td>
        </tr>

        <tr>
                <td colspan="2">&nbsp;</td>
        </tr>
        <tr>
                <td>&nbsp;</td>
                <td><input name="shop_order_step1" type="submit" value="Weiter..." /></td>
        </tr>
</table>
<!--ORDER_INV_ADDRESS_END//-->

<!--ORDER_TERMS_START//-->
<h1>Best&auml;tigung</h1>
<p>Bitte &uuml;berpr&uuml;fen Sie Ihre Eingaben bevor Sie Ihre <span style="color: rgb(255,0,0); font-weight: bold;">Preisanfrage (unverbindlich, keine Bestellung!)</span> abschicken!</p>
<div>

        [IF_ERROR]<p><strong>You have to agree our terms and conditions</strong></p>[/IF_ERROR]

        <h2>Adressdaten</h2>
        <p>
                {INV_FIRSTNAME}<br />
                {INV_NAME}<br />
                {INV_ADDRESS}<br />
                {INV_ZIP} {INV_CITY}
                [INV_COUNTRY]<br />{INV_COUNTRY}[/INV_COUNTRY]
        </p>
        <p>
                E-Mail: {EMAIL}<br />
                Telefon: {PHONE}<br />
        [shop_field_1]
       <p>
               Telefax: {shop_field_1}
        </p>
        [/shop_field_1]
         </p>

        <form action="{CART_LINK}" method="post">
        <p>&#160;</p>
        <p>
                  <input name="shop_edit_address" type="submit" value="Adressdaten korrigieren" />
        </p>
        </form>

        <hr style="color: rgb(77, 135, 199); height: 1px; border: 1px solid; margin-top: 20px; margin-bottom: 20px;">

        <h2>Preisanfrage</h2>
        <table cellspacing="0" cellpadding="1" border="0" summary="items">
                <tr class="cart_header">
                        <td>Artikelbezeichnung:</td>
                        <td><!--Preis {CURRENCY_SYMBOL}: --></td>
                        <td>Menge:</td>
                </tr>
        {ITEMS}


        </table>
      <p>&#160;</p>
        <p>
                <a href="{CART_LINK}"><input type="submit" name="shop_cart_update" value="Merkzettel &auml;ndern" class="cart_update_button" /></a>
                <a href="{SHOP_LINK}"><input type="submit" name="shop_cart_update" value="weiter Einkaufen" class="cart_update_button" /></a>
        </p>

        <hr style="color: rgb(77, 135, 199); height: 1px; border: 1px solid; margin-top: 20px; margin-bottom: 20px;">

        <div style="visibility: hidden;"<h2>Terms and conditions</h2>
        <div style="width:0px;height: 0px;padding:0px; overflow:auto;">
                {TERMS}
        </div>
        <form action="{CART_LINK}" method="post">
        <p>
                <input type="checkbox" name="shop_terms_agree" value="1" checked />
                I have read and agree your terms and conditions
        </p>
         </div>
        <p>
                <input name="shop_order_submit" type="submit" value="Preisanfrage absenden" />
        </p>
        </form>

</div>

<!--ORDER_TERMS_END//-->

<!--ORDER_TERMS_ITEM_START//-->
                <tr>
                        <td>{PRODUCT_TITLE}</td>
                        <td>  </td>
                        <td align="center">{COUNT}</td>
                </tr>
<!--ORDER_TERMS_ITEM_END//-->

<!--ORDER_TERMS_ITEMSPACE_START//-->

<!--ORDER_TERMS_ITEMSPACE_END//-->

<!--MAIL_ITEM_START//-->
Menge:   {COUNT}
Bestellnr.:  {ORDER_NUM}
Artikelbeschreibung:  {PRODUCT_TITLE}
<!--MAIL_ITEM_END//-->

<!--MAIL_CUSTOMER_START//-->
Hiermit bestätigen und bedanken wir uns für Ihre nachfolgende Anfrage.
Wir melden uns bei Ihnen mit einer Offerte oder einem Telefonat.

Ihre hiermit übermittelten Anfragedaten sind:

Ihre Anfrage: {ORDER}
             {DATE:d/m/Y H:i}

Ihre Adressdaten: {INV_FIRSTNAME}
               {INV_NAME}
               {INV_ADDRESS}
               {INV_ZIP} {INV_CITY}
               [INV_COUNTRY]{INV_COUNTRY}[/INV_COUNTRY]

E-Mail:   {EMAIL}
Telefon:  {PHONE}
Telefax:  {shop_field_1}

Preisanfrage
==============

{ITEMS}


Vielen Dank!
<!--MAIL_CUSTOMER_END//-->

<!--MAIL_NEWORDER_START//-->
Hier eine neue Preisanfrage:

Anfrage: {ORDER}
      {DATE:d/m/Y H:i}

Adressdaten: {INV_FIRSTNAME}
              {INV_NAME}
              {INV_ADDRESS}
              {INV_ZIP} {INV_CITY}
              [INV_COUNTRY]{INV_COUNTRY}[/INV_COUNTRY]

E-Mail:   {EMAIL}
Telefon:  {PHONE}
Telefax:  {shop_field_1}

Preisanfrage
==============

{ITEMS}


Let's go.
<!--MAIL_NEWORDER_END//-->

<!--ORDER_DONE_START//-->
        <h2>Die Preisanfrage {ORDER} wurde erfolgreich verschickt!</h2>
        <p>Hallo <strong>{INV_FIRSTNAME} {INV_NAME}</strong>,<br />
        Herzlichen Dank f&uuml;r Ihre Preisanfrage, wir melden uns mit einem Angebot bei Ihnen. Sie bekommen in den n&auml;chsten Minuten eine Best&auml;tigungs-E-Mail an Ihre E-Mail-Adresse <strong>{EMAIL}</strong></p>
        <p>Ihre Preisnafrage f&uuml;hren wir unter folgender Nr.: <strong>{ORDER}</strong>. Bitte geben Sie diese Nummer an, wenn Sie R&uuml;ckfragen haben.</p>
<!--ORDER_DONE_END//-->

<!--ORDER_NOT_DONE_START//-->
        <h2>Die Preisanfrage wurde nicht verschickt!</h2>
        <p>Es tut uns leid, aufgrund technischer Probleme konnte Ihre Preisanfrage nicht gespeichert und verschickt werden.</p>
        <p>Bitte versuchen Sie es noch einmal oder informieren Sie uns unter  <a href="mailto:mail@test.de">mail@test.de</a> oder telefonisch unter 000</p>
        <p>Die Nr. Ihrer Preisanfrage sollte lauten: <strong>{ORDER}</strong>.</p>
        <p>Wenn Sie m&ouml;chten <a href="mailto:mail@test.de?subject={SUBJECT}&body={MSG}">klicken Sie hier</a> um uns Ihre Preisanfrage per E-Mail zu schicken.</p>
<!--ORDER_NOT_DONE_END//-->
Hat jemand eine Idee, was die Ursache sein kann?

Außerdem wären in den Mail-Vorlagen Umlaute drin, werden aber in den Mails zu "schwarzen Eiern mit weißen ?" verhackstückt. Ich hatte das Problem schon in den HTML-Teilen der default.html, da hat &uuml; statt ü geholfen.

Was muss man in die Text-Mail-Vorlagen einsetzen für die Umlaute?

Bem. (in der conf.inc.php passend zur Datenbank)
$phpwcms['db_charset'] = 'utf8';
$phpwcms['db_collation'] = 'utf8_unicode_ci';


Viele Grüße
Britta
User avatar
juergen
Moderator
Posts: 4556
Joined: Mon 10. Jan 2005, 18:10
Location: Weinheim
Contact:

Re: Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by juergen »

Nimm ue

An den Kodierungen scheiden sich die Geister. Die verwendete Funktion mail() packt das vermutlich nicht für jedwede Konstellation von Mailservern und Clients.

Bei ue bist du in guter Gesellschaft ( Zumindest in den mail headern )
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by Oliver Georgi »

Die Vorlage muss als UTF-8 abgespeichert werden, dann klappt das auch.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by update »

Das sollte man sich eh' zur Routine machen, denn allerspätestens bei den @@Sönderzöichen@@ in den i18n- Files kommt es sonst zum GAU - diese Files müssen auf alle Fälle als utf-8 abgespeichert werden.
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
User avatar
Oliver Georgi
Site Admin
Posts: 9892
Joined: Fri 3. Oct 2003, 22:22
Contact:

Re: Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by Oliver Georgi »

claus wrote:Das sollte man sich eh' zur Routine machen, denn allerspätestens bei den @@Sönderzöichen@@ in den i18n- Files kommt es sonst zum GAU - diese Files müssen auf alle Fälle als utf-8 abgespeichert werden.
Nicht zu pauschal – es gilt den Zeichensatz zu benutzen, der auch für die Installation gewählt wurde.
Oliver Georgi | phpwcms Developer | GitHub | LinkedIn | Систрон
User avatar
update
Moderator
Posts: 6455
Joined: Mon 10. Jan 2005, 17:29
Location: germany / outdoor

Re: Shop Modul: Fehlermeldungen bei Bestelldetails / Umlaute

Post by update »

OK, sorry :oops:
Ich dachte vorhin (etwas vorschnell), dass alle das so haben...
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Post Reply