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‘s…</a>[/PRODUCT_URL]
<div class="cart_add">[CART_ADD]zum Merkzettel fü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 »</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önnen. </p>
[IF_ERROR]<p>Bitte überprüfen Sie Ihre Eingaben, Felder oder Daten fehlen!</p>[/IF_ERROR]
[ERROR_INV_FIRSTNAME]<p>Bitte überprüfen Sie Ihren Firmennamen!</p>[/ERROR_INV_FIRSTNAME]
[ERROR_INV_NAME]<p>Bitte überprüfen Sie Ihren Namen!</p>[/ERROR_INV_NAME]
[ERROR_INV_ADDRESS]<p>Bitte überprüfen Sie Ihre Adresse!</p>[/ERROR_INV_ADDRESS]
[ERROR_INV_ZIP]<p>Bitte überprüfen Sie die PLZ!</p>[/ERROR_INV_ZIP]
[ERROR_INV_CITY]<p>Bitte überprüfen Sie den Ort!</p>[/ERROR_INV_CITY]
[ERROR_EMAIL]<p>Bitte überprüfen Sie Ihre E-Mail-Adresse!</p>[/ERROR_EMAIL]
[ERROR_PHONE]<p>Bitte überprüfen Sie Ihre Telefonnummer!</p>[/ERROR_PHONE]
[ERROR_shop_field_1]<p>Bitte überprü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"> </td>
</tr>
<tr>
<td> </td>
<td><input name="shop_order_step1" type="submit" value="Weiter..." /></td>
</tr>
</table>
<!--ORDER_INV_ADDRESS_END//-->
<!--ORDER_TERMS_START//-->
<h1>Bestätigung</h1>
<p>Bitte überprü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> </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> </p>
<p>
<a href="{CART_LINK}"><input type="submit" name="shop_cart_update" value="Merkzettel ä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ür Ihre Preisanfrage, wir melden uns mit einem Angebot bei Ihnen. Sie bekommen in den nächsten Minuten eine Bestätigungs-E-Mail an Ihre E-Mail-Adresse <strong>{EMAIL}</strong></p>
<p>Ihre Preisnafrage führen wir unter folgender Nr.: <strong>{ORDER}</strong>. Bitte geben Sie diese Nummer an, wenn Sie Rü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ö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//-->
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 ü 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