xtstargate Posted February 16, 2010 Report Share Posted February 16, 2010 Hallo, ich habe bei Veyton ein Problem mit den Variablen und eventuell ist mir das grundsätzliche Prinzip auch nicht klar, wie ich diese im Code einbinden kann. Gibt es irgendwo eine Übersicht der möglichen Felder, bzw. wo kann ich mir dieser heraussuchen? Ich wollte bei mir die einzelnen E-Mails mit der persönlichen Anrede (Herr/Frau) entsprechend ändern, dies klappt auch bei 3 von 5 E-Mail Templates. Aber bei 2 führt der Befehl <h1>{if $order_data.delivery_gender=='m'}Sehr geehrter Herr{/if}{if $order_data.delivery_gender=='f'}Sehr geehrte Frau{/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname},</h1> nicht zum Erfolg? Kann mir jemand sagen warum? In der Mail wird lediglich nur das Komma angezeigt. Hier im direkten Vergleich einmal die beiden Quellcodes, bei der Bestellbestätigung funktioniert es, aber nicht z.B. bei der Passwortanforderung(oder Kundenkonto). passwort_optin (hier funktioniert die Anrede nicht) <link href="{$_system_mail_css}" type="text/css" rel="stylesheet"> <table cellpadding="0" cellspacing="0" class="email_container"> <tr> <td colspan="3" class="email_toplogo"> <div class="email_toplogo"><img src="{$_system_logo_url}" /></div> </td> </tr> <tr> <td class="email_table_left_bg" valign="top"> <div class="email_table_left"></div> </td> <td class="email_table_center_bg" valign="top"> <div class="email_content"> <h1>{if $order_data.delivery_gender=='m'}Sehr geehrter Herr{/if}{if $order_data.delivery_gender=='f'}Sehr geehrte Frau{/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname},</h1> <p>für Ihre E-Mail Adresse wurde ein neues Passwort angefordert.<br /> Um die Anfrage zu bestätigen, klicken Sie bitte den folgenden Bestätigungslink.</p> <p class="email_highlight">Ihr Bestätigungs-Link:<br /> <a href="{$remember_link}">{$remember_link}</a></p> </div> <div class="email_footer">{$_system_footer_html}</div> </td> <td class="email_table_right_bg" valign="top"> <div class="email_table_right"></div> </td> </tr> </table> send_order (hier funktioniert die Anzeige der Anrede) <link href="{$_system_mail_css}" type="text/css" rel="stylesheet"> <table cellpadding="0" cellspacing="0" class="email_container"> <tr> <td colspan="3" class="email_toplogo"> <div class="email_toplogo"><img src="{$_system_logo_url}" /></div> </td> </tr> <tr> <td class="email_table_left_bg" valign="top"> <div class="email_table_left"></div> </td> <td class="email_table_center_bg" valign="top"> <div class="email_content"> <h1>{if $order_data.delivery_gender=='m'}Sehr geehrter Herr{/if}{if $order_data.delivery_gender=='f'}Sehr geehrte Frau{/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname},</h1> <p> herzlichen Dank für Ihre Bestellung bei xyz <br> <br> Anbei finden Sie eine Übersicht der bestellten Artikel, wir werden die Ware schnellstmöglich an Sie versenden.</p> <br /> <h1>Bestellübersicht:</h1> <p>{txt key=TEXT_ORDER_NUMBER}: {$order_data.orders_id}</p> <p>{txt key=TEXT_ORDER_DATE}: {$order_data.date_purchased}</p> <h2>{txt key=TEXT_SHIPPING_ADDRESS}</h2> <p>{if $order_data.delivery_company} {$order_data.delivery_company}<br /> {/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname}<br /> {$order_data.delivery_street_address}<br /> {if $order_data.delivery_suburb} {$order_data.delivery_suburb}<br /> {/if} {$order_data.delivery_postcode} {$order_data.delivery_city}<br /> {if $order_data.delivery_state}{$order_data.delivery_state} {/if}{$order_data.delivery_country}<br /> </p> <h2>{txt key=TEXT_PAYMENT_ADDRESS}</h2> <p>{if $order_data.billing_company} {$order_data.billing_company}<br /> {/if} {$order_data.billing_firstname} {$order_data.billing_lastname}<br /> {$order_data.billing_street_address}<br /> {if $order_data.billing_suburb} {$order_data.billing_suburb}<br /> {/if} {$order_data.billing_postcode} {$order_data.billing_city}<br /> {if $order_data.billing_state}{$order_data.billing_state} {/if}{$order_data.billing_country}<br /> </p> {if $payment_info}<h2>{txt key=TEXT_PAYMENT_INFOS}</h2> <p>{$payment_info}</p><br />{/if} <table class="tabledetails" width="100%" border="0" cellspacing="0" cellpadding="4"> <tr class="headerrow"> <td class="left">{txt key=TEXT_QTY}</td> <td class="left">{txt key=TEXT_ARTICLE}</td> <td class="left">{txt key=TEXT_PRODUCTS_MODEL}</td> <td class="right">{txt key=TEXT_SINGLE_PRICE}</td> <td class="right">{txt key=TEXT_TOTAL_PRICE}</td> </tr> {foreach name=aussen item=order_values from=$order_products} <tr class="{cycle values="contentrow1,contentrow2"}"> <td class="left">{$order_values.products_quantity} x</td> <td class="left">{$order_values.products_name}</strong></td> <td class="left">{$order_values.products_model}</td> <td class="right">{$order_values.products_price.formated}</td> <td class="right">{$order_values.products_final_price.formated}</td> </tr> {$order_values.products_information.html_content} {/foreach} <tr> <td colspan="5" align="right" class="subtotal"> <div align="right"> <p>{txt key=TEXT_SUB_TOTAL}: {$total.product_total.formated}</p> {foreach name=aussen item=order_total_values from=$order_total_data} <p>{$order_total_values.orders_total_name}: {$order_total_values.orders_total_price.formated}</p> {/foreach} {foreach name=aussen item=tax_data from=$total.total_tax} <p>{txt key=TEXT_TAX} {$tax_data.tax_key}%: {$tax_data.tax_value.formated}</p> {/foreach} <p>{txt key=TEXT_TOTAL}: {$total.total.formated}</p> </div> </tr> </table> </div> <div class="email_footer">{$_system_footer_html}</div> </td> <td class="email_table_right_bg" valign="top"> <div class="email_table_right"></div> </td> </tr> </table> Vielen Dank für Eure Hilfe! Habe Kenntnisse in HTML um den Shop anzupassen, bei CSS oder PHP wird es etwas schwieriger, dies zu meiner Person Liegt es eventuell an der E-Mail-Art, warum dies nicht funktioniert? Link to comment Share on other sites More sharing options...
mmx Posted February 16, 2010 Report Share Posted February 16, 2010 Hi, du verwendest die Variablen aus der Bestellung. Bei Passwort-Emails liegt aber keine Bestellung zugrunde. Versuchs mal hiermit: {if $address_data.customers_gender == 'm'} <h1>Sehr geehrter Herr {$address_data.customers_lastname},</h1>{/if} {if $address_data.customers_gender == 'f'} <h1>Sehr geehrte Frau {$address_data.customers_lastname},</h1>{/if} Bei mir funktioniert das. EDIT: Beim Neuanlegen eines Kundenkontos (create_account) muss das Ganze so heissen: {if $address_data.default.customers_gender == 'm'} <h1>Sehr geehrter Herr {$address_data.default.customers_lastname},</h1>{/if} {if $address_data.default.customers_gender == 'f'} <h1>Sehr geehrte Frau {$address_data.default.customers_lastname},</h1>{/if} /EDIT Beste Grüße Alex Link to comment Share on other sites More sharing options...
xtstargate Posted February 16, 2010 Author Report Share Posted February 16, 2010 Hi Alex, super vielen Dank für die prompte Hilfe! Das war genau, dass was ich gesucht habe und bin beinahe daran verzweifelt. Wie kann ich aber erkennen auf welche Variable ich mich beziehen muss, also z.B. delievery (wobei das von der logik ja klar ist), customer oder default? Kann ich das mit {debug} abrufen?(Wenn ja wo muss ich dies dann einbauen?) Ich schätze mal eine Übersicht für dieses Thema gibt es nicht? Viele Grüße, Stefan Link to comment Share on other sites More sharing options...
mmx Posted February 16, 2010 Report Share Posted February 16, 2010 Ich sehe mir in solchen Fällen immer mal gerne direkt per phpMyAdmin die Datenbank an und welche Felder es dort gibt (xt_customers_addresses in diesem Fall). Mit dem .default. war allerdings trial&error, ich habe einfach einen Blick auf die ursprüngliche Standard-Mail bei create_account geworfen und das .default übernommen. Schön dass ich helfen konnte, davon lebt diese Forum schliesslich. Und ganz ehrlich: Ohne dieses Forum wäre ich ziemlich aufgeschmissen Grüße Alex Link to comment Share on other sites More sharing options...
xtstargate Posted February 16, 2010 Author Report Share Posted February 16, 2010 Tja, die Standardmail hatte ich leider zu schnell überschrieben, ohne vorher zu vergleichen. Das war mein Problem PHPmyAdmin ist ein guter Tipp, schließlich basiert ja alles auf dieser Datenbasis. Was die genaue Gestaltung der Mail angeht muss ich mir wohl das "Konstrukt" der Mail als ganzes und die Stylesheet.css anschauen. Mir stellt sich nur die Frage, woher weiß ich, dass genau diese Tabelle bei diesen Inhalten greift? Link to comment Share on other sites More sharing options...
die2raeder Posted February 18, 2010 Report Share Posted February 18, 2010 Eine Übersicht der möglichen Variabeln für die einzelnen Mails wäre echt super. Damit kann man dann komplett eigene Emails gestalten ohne ständig in den Vorlagen "rumzufingern". Ich hab mit anderen Softwarelösungen gearbeitet, wo das alles etwas einfacher und vorallem durchsichtiger war. Link to comment Share on other sites More sharing options...
janwiemer Posted March 28, 2010 Report Share Posted March 28, 2010 Bin auch dafür. Aber erstmal Danke an den Thread-Ersteller, dass ich das hier gefunden habe: {if $order_data.delivery_gender=='m'}Sehr geehrter Herr{/if}{if $order_data.delivery_gender=='f'}Sehr geehrte Frau{/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname} Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.