axcomonline Posted May 17, 2011 Report Share Posted May 17, 2011 Hallo, gibt es eine Möglichkeit in der Bestätigungsmail anzuzeigen, dass der Kunde einen Rabatt bekommt oder einen Gutscheincode in Anspruchgenommen hat? Hab das Gutscheinplugin und wenn der Kunde da nun einen Gutscheincode eingibt und z.B. 5% Rabatt bekommt, fänd ichs gut wenns auch in der Mail steht, aber da kenn ich die Variablen nicht für. Es reicht auch schon wenn da steht: "Gutscheincode in Anspruch genommen". Noch besser wäre natürlich "Rabatt= 5%" Link to comment Share on other sites More sharing options...
oldbear Posted May 17, 2011 Report Share Posted May 17, 2011 hi, für die Gutscheine müsste man über php mit der Order-ID in der "xt_coupons_redeem" nachkucken, ansonsten steht in der Auftragsposition nur der gewährte Rabatt ( auch nicht immer, kann bei bestimmten Plugins in bestimmten Konstellationen auch mal nicht der Fall sein ) Grüsse Link to comment Share on other sites More sharing options...
axcomonline Posted May 17, 2011 Author Report Share Posted May 17, 2011 und wie mach ich dass über php. Hab davon leider 0 Ahnung. Und in der Bestätigung steht bei mir unter Einzelpreis dann nur noch der Preis mit dem abgezogenen Rabatt. Da ist es aber dann nicht ersichtlich für den Kunden das Rabatt abgezogen wurde. Besser wäre einmal der normale Preis und daneben dann nochmal -Rabatt. Es soll halt nur besser für den Kunden erkenntlich sein, dass er den Gutschein bzw Rabatt bekommt. Link to comment Share on other sites More sharing options...
amelie Posted May 17, 2011 Report Share Posted May 17, 2011 hmmm ok ja schade haben auch das Gutscheinmodul gekauft auch wenn wir es wegen der Paypal Express Thematik leider noch nicht einsetzen können (Update wurde vom Support ja versprochen damit es auch mit Paypal Express geht). Schade ist das schon das man wohl nicht daran gedacht hat den Rabatt auch in der Bestellung und in der Email zu integrieren... Ist doch eigentlich Stand der Dinge heute. Hoffe mal das wird beim nächsten Gutscheinplugin Update berücksichtigt. MfG Link to comment Share on other sites More sharing options...
oldbear Posted May 17, 2011 Report Share Posted May 17, 2011 für Dich, Amelie und all die anderen ...: auf die Schnelle und ohne Gewähr {assign var=id value=$order_data.orders_id} {php} $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $this->assign('coupon_rabatt',$redeem_amount); } {/php} Danach sollte unter {$coupon_rabatt} der gewährte Gutschein-Rabatt-Betrag zur Verfügung stehen Link to comment Share on other sites More sharing options...
axcomonline Posted May 18, 2011 Author Report Share Posted May 18, 2011 und wo kopier ich das nun hin. Meine send_order im Shopbackend sieht so aus: <link href="{$_system_mail_css}" type="text/css" rel="stylesheet"> <table cellpadding="0" cellspacing="0" class="email_container"> <tr> <td class="email_table_center_bg" valign="top"> <div class="email_content"> {if $order_data.delivery_gender eq "m"}Sehr geehrter Herr {elseif $order_data.delivery_gender eq "f"}Sehr geehrte Frau {else}Sehr geehrte® {/if} {$order_data.delivery_firstname} {$order_data.delivery_lastname},<br /><br /> hiermit bestätigen wir den Eingang Ihrer Bestellung vom {$order_data.date_purchased}.<br /><br /> <b>Ihre Daten nochmals zur Kontrolle:<b><br /><br /> {if $order_data.customers_cid != ""}<b>Ihre Kundennummer:</b> {$order_data.customers_cid}{/if}<br /> <b>Shop-Bestellnummer:</b> {$order_data.orders_id}<br /> <b>{txt key=TEXT_ORDER_DATE}:</b> {$order_data.date_purchased}<br /><br /> <table width="100%" border="0px" cellpadding="4" class="email_container"> <tr> <td width="30%" valign="top"> <b>{txt key=TEXT_SHIPPING_ADDRESS}</b><br /> Versandart: {$order_data.shipping_code}<br /><br /> {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 /> </td> <td valign="top"> <b>{txt key=TEXT_PAYMENT_ADDRESS}</b><br /><br /><br /> {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 /> </td> </tr> </table><br /><br /> {if $payment_info}<b>{txt key=TEXT_PAYMENT_INFOS}</b><br /><br /> {$payment_info}<br /><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_PRODUCTS_MODEL}</td> <td class="left">{txt key=TEXT_ARTICLE}</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_model}</td> <td class="left">{$order_values.products_name}</strong></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"> <b>{txt key=TEXT_SUB_TOTAL}: {$total.product_total.formated}</b><br/> {foreach name=aussen item=order_total_values from=$order_total_data} {$order_total_values.orders_total_name}: {$order_total_values.orders_total_price.formated}<br/> {/foreach} {foreach name=aussen item=tax_data from=$total.total_tax} {txt key=TEXT_TAX} {$tax_data.tax_key}%: {$tax_data.tax_value.formated}<br/> {/foreach} <b>{txt key=TEXT_TOTAL}: {$total.total.formated}</b> </div> </tr> </table> <br/> <br/> <b>Bemerkungen (Zusatzinfos zu Ihrer Bestellung):</b><br/><br/> {$order_data.comments}<br/><br/> </div> <div class="email_footer">{$_system_footer_html}</div> </td> </tr> </table> Link to comment Share on other sites More sharing options...
oldbear Posted May 18, 2011 Report Share Posted May 18, 2011 hi, egal wohin,z.B. an den Anfang. Interessant ist doch nur, wo Du die Ausgabe {$coupon_rabatt} hinstellst. Vielleicht so: {if $coupon_rabatt > ''} <b>Abgezogener Gutschein-Rabatt: {$coupon_rabatt}</b> <br /> {/if} Grüsse Link to comment Share on other sites More sharing options...
axcomonline Posted May 18, 2011 Author Report Share Posted May 18, 2011 Wenn ich den Code einfüge, hängt der sich beim checkout auf. Also er verschickt dann keine Mail. Link to comment Share on other sites More sharing options...
oldbear Posted May 18, 2011 Report Share Posted May 18, 2011 ok, sagte doch, ohne Gewähr: es muss noch was rein: {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); ....... Grüsse Link to comment Share on other sites More sharing options...
axcomonline Posted May 18, 2011 Author Report Share Posted May 18, 2011 Perfekt!!! Klappt alles super mit dem anzeigen!!! Das einzige was mich jetzt noch wundert ist, dass bei eingelöster Gutscheinwert irgendwie ein viel zu hoher Betrag steht. Aber das umgeh ich jetzt einfach mal so, dass bei der verwendung eines Codes lediglich steht "Abgezogener Gutschein-Rabatt: 5%" So mach ichs: {if $coupon_rabatt > ''} <b>Abgezogener Gutschein-Rabatt: 5%</b> <br/> {/if} Ist dann zwar nen fester Wert, aber hab eh nur einen Gutscheincode, den man eingeben kann Link to comment Share on other sites More sharing options...
oldbear Posted May 18, 2011 Report Share Posted May 18, 2011 hi, das mit dem zu hohen Betrag könnte ein Formatierungsproblem sein, es wird ja nur ein reiner Php-Wert mit Punkt statt Komma ausgegeben, kann man aber leicht im Smarty abfangen, wie ich Dir per PM geschrieben habe, habe ich auch nicht kontrolliert, ob das ein Brutto- oder Nettowert ist Aber wenns so auch passt, freuts mich :-) Grüsse Link to comment Share on other sites More sharing options...
chreegy Posted June 15, 2011 Report Share Posted June 15, 2011 Das funktioniert wirklich wunderbar! DANKE! Aber wenn ich nun auch noch den Gutschein-Code ausgeben will, also z.B. LAK-XKN-USW, dann muss ich doch auf dieselbe Weise die Tabelle "xt_coupon_tokens" abfragen. Wenn ich dafür denselben Quellcode verwende, wie beim Wert des Gutscheins, zerschieße ich mir allerdings immer den Checkout-Prozess. Wahrscheinlich stimm etwas in meinem Quellcode nicht...wäre genial wenn jemand da mal drüber schauen könnten, denn das interessiert bestimmt mehrere Leute: {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $redeem_amount = number_format($redeem_amount, 2, ',', ''); $this->assign('coupon_rabatt',$redeem_amount); } global $db2; $id2 = $this-> get_template_vars('id'); $code = $db2->Execute("SELECT * FROM xt_coupons_token WHERE order_id = '".$id2."'"); if ( !$code->EOF ) { $redeem_code = $code->fields['coupon_token_code']; $this->assign('coupon_code',$redeem_code); } {/php} Ich wäre Euch sehr dankbar! Grüße Chris Link to comment Share on other sites More sharing options...
oldbear Posted June 15, 2011 Report Share Posted June 15, 2011 hi, $db2 gibts nicht ! also nur so ( wenn alles andere stimmt ): $id2 = $this-> get_template_vars('id'); $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE order_id = '".$id2."'"); Grüsse wobei man sich das nochmalige Holen der Order-Id auch sparen könnte: $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE order_id = '".$id."'"); Link to comment Share on other sites More sharing options...
chreegy Posted June 15, 2011 Report Share Posted June 15, 2011 1000 Dank :-). Mit einer kleinen Modifikation geht es jetzt. Für alle zum Mitschreiben: {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $redeem_amount = number_format($redeem_amount, 2, ',', ''); $this->assign('coupon_rabatt',$redeem_amount); } $id = $this-> get_template_vars('id'); $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $redeem_code = $code->fields['coupon_token_code']; $this->assign('coupon_code',$redeem_code); } {/php} Jetzt muss ich nur noch igrendwie den Gutschein-Wert (25% oder z.B. 10 EUR ausgeben, dann isses ja quasi perfekt :-) Aber das wird auch noch klappen. Nur ist dieser Wert in einer anderen Tabelle ohne das Feld "orders_id". Da muss man dann ja wohl eventuell einen "JOIN" oder dergleichen machen...hast Du / Sie zufällig auch hierfür einen Rat? DANKE! Link to comment Share on other sites More sharing options...
chreegy Posted June 15, 2011 Report Share Posted June 15, 2011 Ok ich seh schon, das sollte über die coupon_id gehen. Mal sehen was ich so zaubern kann. Wenn es geht, poste ich es ;-). Wenn nicht bitte ich um Hilfe! DANKE! Link to comment Share on other sites More sharing options...
chreegy Posted June 15, 2011 Report Share Posted June 15, 2011 Ist unter Garantie nicht gerade "Redundanzfrei", aber ich bin ja auch mehr Designer als Coder ;-). Hier nun der Code damit man alles ausgeben kann: 1. Gutschein Wert / Prozent (10 EUR / 10%) 2. Gutschein-Code (XYZ-HKN-123) 3. Die rabattierte Summe (z.B. 23,60 EUR) {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $redeem_amount = number_format($redeem_amount, 2, ',', ''); $this->assign('coupon_rabatt',$redeem_amount); } $id = $this-> get_template_vars('id'); $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $redeem_code = $code->fields['coupon_token_code']; $this->assign('coupon_code',$redeem_code); } $id = $this-> get_template_vars('id'); $coupon_data = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $coupon_id = $coupon_data->fields['coupon_id']; } $coupon_data2 = $db->Execute("SELECT * FROM xt_coupons WHERE coupon_id = '".$coupon_id."'"); if ( !$coupon_data2->EOF ) { $coupon_percent = $coupon_data2->fields['coupon_percent']; $coupon_amount = $coupon_data2->fields['coupon_amount']; if ($coupon_percent > 0){ $this->assign('coupon_prozent',$coupon_percent);} if ($coupon_amount > 0){ $this->assign('coupon_wert',$coupon_amount);} } {/php} Damit stehen in der Bestell-E-Mail dann folgende Werte zur Verfügung: {$coupon_prozent} {$coupon_wert} {$coupon_code} {$coupon_rabatt} Grüße Chris und nochmals Danke!!! Link to comment Share on other sites More sharing options...
Townboy Posted September 2, 2011 Report Share Posted September 2, 2011 Hi chreegy, wo hast Du Deinen Code eingebunden? Weiss zufällig Jemand wie man zusätzliche Rabatte, bspw. Selbstabholen bzw. Vorkasse mit in der Bestellbestätigung ausgeben kann? Grüße Michael Link to comment Share on other sites More sharing options...
chreegy Posted September 2, 2011 Report Share Posted September 2, 2011 Steht doch alles im Thread ;-). Der Quellcode kann direkt im E-Mail-Manager in die betreffende E-Mail Vorlage eingefügt werden. Also etwa so: Man geht unter dem Tab "Inhalt" auf "E-Mail-Manager". Öffnet die E-Mail Vorlage "send_order" und fügt den Quellcode einfach vor dem eigenen HTML / Textinhalt ein. In der selben Vorlage (immer noch "send_order"), muss man dann nur noch die Platzhalter in den E-Mail-Inhalt einfügen. Also an den gewünschten Stellen in der E-Mail folgendes einfügen: {$coupon_prozent} {$coupon_wert} {$coupon_code} {$coupon_rabatt} (So habe ich meine Variablen benannt. Das kann man dann natürlich selbst benennen wie man möchte...) Wie definierst Du zusätzliche Rabatte? Da komme ich jetzt nicht ganz mit. Im Normalfall kannst Du alles was im Checkout Prozess in der Session gespeichert wird auch in den E-Mails ausgeben. Du musst nur den Namen der Smarty-Variable wissen. Grüße Link to comment Share on other sites More sharing options...
Townboy Posted September 2, 2011 Report Share Posted September 2, 2011 Ich meinte wo der komplette php Code hin soll? {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $redeem_amount = number_format($redeem_amount, 2, ',', ''); $this->assign('coupon_rabatt',$redeem_amount); } $id = $this-> get_template_vars('id'); $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $redeem_code = $code->fields['coupon_token_code']; $this->assign('coupon_code',$redeem_code); } $id = $this-> get_template_vars('id'); $coupon_data = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $coupon_id = $coupon_data->fields['coupon_id']; } $coupon_data2 = $db->Execute("SELECT * FROM xt_coupons WHERE coupon_id = '".$coupon_id."'"); if ( !$coupon_data2->EOF ) { $coupon_percent = $coupon_data2->fields['coupon_percent']; $coupon_amount = $coupon_data2->fields['coupon_amount']; if ($coupon_percent > 0){ $this->assign('coupon_prozent',$coupon_percent);} if ($coupon_amount > 0){ $this->assign('coupon_wert',$coupon_amount);} } {/php} Die Ausgabe mit den Variblen im Mailtemplate ist klar :-) Wegen der anderen Rabatte: Woher bekomme ich die Variable? Link to comment Share on other sites More sharing options...
chreegy Posted September 2, 2011 Report Share Posted September 2, 2011 Ich hab doch geschrieben wo der Quellcode hin soll, an den Anfang Deiner E-Mail Vorlage. Aber dann eben noch einen Screenshot: Link to comment Share on other sites More sharing options...
schoorli Posted October 6, 2011 Report Share Posted October 6, 2011 jo - danke, das ist total hilfreich, aber: ich kann nur {$coupon_rabatt} aufrufen, die anderen variablen geben nichts aus. Oder ich hab was falschgemacht... Link to comment Share on other sites More sharing options...
eventshop Posted May 14, 2012 Report Share Posted May 14, 2012 ja, das problem habe ich auch, der Rabattwert wird ausgewiesen, der Gutschein Name und der % Wert werden aber nicht angezeigt. Link to comment Share on other sites More sharing options...
eventshop Posted June 10, 2012 Report Share Posted June 10, 2012 sitz gerade mal wieder dran, die ausgabe vom Prozentwert und von dem Gutschein Name wird noch nicht ausgegeben.... wo liegt hier das Problem? hier mein code: {assign var=id value=$order_data.orders_id} {php} global $db; $id = $this-> get_template_vars('id'); $rs = $db->Execute("SELECT * FROM xt_coupons_redeem WHERE order_id = '".$id."'"); if ( !$rs->EOF ) { $redeem_amount = $rs->fields['redeem_amount']; $redeem_amount = number_format($redeem_amount, 2, ',', ''); $this->assign('coupon_rabatt',$redeem_amount); } $id = $this-> get_template_vars('id'); $code = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $redeem_code = $code->fields['coupon_token_code']; $this->assign('coupon_code',$redeem_code); } $id = $this-> get_template_vars('id'); $coupon_data = $db->Execute("SELECT * FROM xt_coupons_token WHERE coupon_token_order_id = '".$id."'"); if ( !$code->EOF ) { $coupon_id = $coupon_data->fields['coupon_id']; } $coupon_data2 = $db->Execute("SELECT * FROM xt_coupons WHERE coupon_id = '".$coupon_id."'"); if ( !$coupon_data2->EOF ) { $coupon_percent = $coupon_data2->fields['coupon_percent']; $coupon_amount = $coupon_data2->fields['coupon_amount']; if ($coupon_percent > 0){ $this->assign('coupon_prozent',$coupon_percent);} if ($coupon_amount > 0){ $this->assign('coupon_wert',$coupon_amount);} } {/php} und hier die Variablen für die ausgabe: {$coupon_prozent}prozent<br> {$coupon_wert}Wert<br> {$coupon_code}Code<br> {$coupon_rabatt}Rabatt<br> Link to comment Share on other sites More sharing options...
schoorli Posted January 30, 2017 Report Share Posted January 30, 2017 Habs gebraucht damit der Gutscheincode mitgetrackt wird. So gehts: (Beispiel für Gutscheincode) {php} global $db; $rs = $db->Execute("SELECT `xt_coupons`.`coupon_code` FROM `xt_coupons_redeem` JOIN `xt_coupons` ON `xt_coupons`.`coupon_id` = `xt_coupons_redeem`.`coupon_id` WHERE `xt_coupons_redeem`.`order_id` = ".$this->_tpl_vars['success_order']->oID); if ( !$rs->EOF ) { $this->assign('coupon_code',$rs->fields['coupon_code']); } {/php} Ausgabe: {$coupon_code} Link to comment Share on other sites More sharing options...
df:bug Posted January 30, 2017 Report Share Posted January 30, 2017 https://xtcommerce.atlassian.net/wiki/display/MANUAL/xt_email_extra+-+E-Mail+Extras Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.