TBa 10 Report post Posted February 24, 2009 Hallo zusammen, wir verkaufen in unserem Shop ausschließlich digitale Produkte, genauer gesagt handelt es sich dabei um Codes, die an anderer Stelle eingetauscht werden können (Vergleichbar mit einer physischen Prepaid-Karte mit Nummernfolge, die an anderer Stelle zum Aufladen eines Kontos genutzt werden kann). Dazu möchten wir die Seriennummer-Funktion von Veyton verwenden. Out of the Box kann der Kunde die erworbene Seriennummer ja bereits über "Mein Konto" einsehen, wir würden sie allerdings gerne außerdem per Mail verschicken, sobald der Bezahlvorgang erfolgreich abgeschlossen ist (Bestellstatus: Bezahlt). Hat jemand eine Idee, wie man sowas lösen kann? Quote Share this post Link to post Share on other sites
TBa 10 Report post Posted February 25, 2009 Hm, offenbar kein einfaches Thema. Aktuell versuchen wir, die Seriennummer einfach in die Mail hineinzupacken, die den Kunden über den erfolgreichen Bezahlvorgang informiert (Vorteil: Diese wird automatisch verschickt). Das Problem ist jedoch, dass die Variable "{$order_serials.serial_number}", die in der Bestellungs-Detailansicht im Shop für die Ausgabe der Seriennummer sorgt, in den Mail-Templates nicht zur Verfügung steht. Kann mir jemand weiterhelfen? Quote Share this post Link to post Share on other sites
mzanier 3 Report post Posted February 25, 2009 (edited) Du kannst mal Versuchen es im Mail Template die Funktion über php anzusprechen. {assign var=ORDER_ID value=$order_data.orders_id} {php} $serials = new product_serials(); $serials->getSerialsFrontend((int)$this->get_template_vars('ORDER_ID')); {/php} Wenn das nicht funktioniert, müsste man es evlt eigens programmieren und plugin erweitern. Edited December 20, 2009 by mzanier Quote Share this post Link to post Share on other sites
TBa 10 Report post Posted February 25, 2009 Hallo - vielen Dank, hat geklappt! Quote Share this post Link to post Share on other sites
DHO 10 Report post Posted December 1, 2009 Hallo, das hineinkopieren in das Template funktioniert bei mir nicht. in der Mail wird immer der Text "{php}...." ausgegeben, aber nicht die Seriennr. Was mache ich falsch? Ausserdem würde ich gerne auch den Link (free) der dem Produkt zugeordnet ist in der email nennen. Kann mir da bitte jemand helfen? Quote Share this post Link to post Share on other sites
DHO 10 Report post Posted December 7, 2009 kann mir niemand helfen, hat doch bei jemand anderem anscheinend funktioniert Quote Share this post Link to post Share on other sites
pmg 10 Report post Posted December 20, 2009 Wenn ich den oben genannten code in die Email Vorlagen kopiere, bekomme ihc folgendes in der Email angezeigt: $serials = new product_serials(); $serials->getSerialsFrontend((int)$this->get_template_vars('ORDER_ID')); Was läuft hier falsch ? Quote Share this post Link to post Share on other sites
oldbear 34 Report post Posted December 20, 2009 {/php} am Schluss statt {php} vielleicht Quote Share this post Link to post Share on other sites
pmg 10 Report post Posted December 20, 2009 :eek: das ich das nicht gesehen habe Danke :D Quote Share this post Link to post Share on other sites
oldbear 34 Report post Posted December 20, 2009 hallo mzanier; funktioniert zwar, schaut aber nicht schön aus, da offensichtlich ein kompletter HTML-Inhalt inkl. Formatierung als String mitgeschickt wird. Kann man aus {$order_values.products_information.html_content} die Seriennummer extrahieren bzw. wie heisst das Array dahinter ? Grüsse Quote Share this post Link to post Share on other sites
pmg 10 Report post Posted December 24, 2009 gibt es schon ne lösung ?? Quote Share this post Link to post Share on other sites
pmg 10 Report post Posted December 30, 2009 Lösung gefunden: zum einen Muss der verwendete Codesniplet angepasst werden: getSerialsFrontend muss durch getSerialsMail ersetzt werden. {assign var=ORDER_ID value=$order_data.orders_id} {php} $serials = new product_serials(); $serials->getSerialsMail((int)$this->get_template_vars('ORDER_ID')); {/php} Jetzt muss noch die entsprechende Funktion in folgender Datei angelegt werden: /plugins/xt_serials/classes/class.product_serials.php function getSerialsMail($orders_id) { global $db; $serials = array(); $rs = $db->Execute("SELECT op.*, ps.* FROM ".TABLE_ORDERS_PRODUCTS." op, ".TABLE_PRODUCTS_SERIAL." ps WHERE op.orders_id=ps.orders_id and op.orders_products_id=ps.orders_products_id and op.orders_id='".$orders_id."'"); if ($rs->RecordCount()>0) { while (!$rs->EOF) { $serials[]=$rs->fields; $rs->MoveNext(); } } if (count($serials)==0) return; $tpl_data = array('serials'=>$serials); echo $tpl_data['serials']['0']['serial_number']; } Ich habe die Funktion direkt nach der getSerialFrontend gesetzt. Quote Share this post Link to post Share on other sites
ichee 10 Report post Posted August 15, 2011 ich kenne mich noch nicht so gut aus mit dem Shop deshalb vieleicht meine Blöde Frage wo muss ich den Code hin Kopieren das es geht ? Bitte um Hilfe Danke Quote Share this post Link to post Share on other sites
stewe 10 Report post Posted September 11, 2011 Bin ebenfalls neu hier und würde die Funktion gerne einbauen. Villeicht kann ja jemand sagen wo ich das mail template finde? Wäre sehr nett Quote Share this post Link to post Share on other sites
stewe 10 Report post Posted September 14, 2011 Niemand da, der etwas Hilfestellung geben kann und/oder die Funktion benutzt? Quote Share this post Link to post Share on other sites
oldbear 34 Report post Posted September 14, 2011 hi, verwende die Funktion von mzanier für den Versand von Codes von Kauf-Gutscheinen ( die sind bei mir als Seriennummern-Artikel definiert ): {if $status == 'Versandt'} {assign var=ORDER_ID value=$order_data.orders_id} {php} $serials = new product_serials(); $serials->getSerialsFrontend((int)$this->get_template_vars('ORDER_ID')); {/php} {$order_values.products_information.html_content} {/if} in der Update-Mail; die Abfrage auf Status "versandt" dient dazu, die SNR erst mitzusenden, wenn der Kauf-Gutschein bzw. das SNR-Produkt auch bezahlt wurde. Dito erscheint die auch erst dann im Kunden-Konto ( Änderung an anderer Stelle ), Grüsse Quote Share this post Link to post Share on other sites
stewe 10 Report post Posted September 15, 2011 Hallo oldbear, vielen Dank für Deine Antwort! Mein Problem fängt hier aber leider schon etwas früher an. Kannst Du mir sagen in welches template/datei der code gehört. Wo wird denn der mail content generiert? Betrachte mich als DAU was php und den shop angeht. Grundsätzliche Funktionen und Aufbau kann ich einigermassen verstehen , aber darüber hinaus wird's (noch) schnell unünersichlich für mich. Gruß, stewe Quote Share this post Link to post Share on other sites
objekt 10 Report post Posted September 15, 2011 Inhalte => E-Mailmanager => update_order-admin (Statusänderung) Quote Share this post Link to post Share on other sites
stewe 10 Report post Posted September 15, 2011 Inhalte => E-Mailmanager => update_order-admin (Statusänderung) Danke für diese wertvolle Info! Gefunden... eingebaut und funktioniert! @oldbear: Auch Dir noch einmal vielen Dank für den code! Quote Share this post Link to post Share on other sites
litho 10 Report post Posted November 29, 2011 Geht das auch direkt in der send_order Email? direkt nach dem eingekauften Produkt? Quote Share this post Link to post Share on other sites
litho 10 Report post Posted November 29, 2011 Geht das auch direkt in der send_order Email? direkt nach dem eingekauften Produkt? Ok ja geht auch da... Frage hat sich somit erledigt... Quote Share this post Link to post Share on other sites
Honki 10 Report post Posted March 10, 2012 Bei wird mit der Funktion "getSerialsMail" nur die erste Seriennummer ausgegeben und nicht alle, wenn mehrer gekauft wurden... Danke für jede Antwort die weiterhilft! Lg Honk Quote Share this post Link to post Share on other sites