TBa Posted February 24, 2009 Report Share 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? Link to comment Share on other sites More sharing options...
TBa Posted February 25, 2009 Author Report Share 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? Link to comment Share on other sites More sharing options...
mzanier Posted February 25, 2009 Report Share Posted February 25, 2009 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. Link to comment Share on other sites More sharing options...
TBa Posted February 25, 2009 Author Report Share Posted February 25, 2009 Hallo - vielen Dank, hat geklappt! Link to comment Share on other sites More sharing options...
DHO Posted December 1, 2009 Report Share 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? Link to comment Share on other sites More sharing options...
DHO Posted December 7, 2009 Report Share Posted December 7, 2009 kann mir niemand helfen, hat doch bei jemand anderem anscheinend funktioniert Link to comment Share on other sites More sharing options...
pmg Posted December 20, 2009 Report Share 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 ? Link to comment Share on other sites More sharing options...
oldbear Posted December 20, 2009 Report Share Posted December 20, 2009 {/php} am Schluss statt {php} vielleicht Link to comment Share on other sites More sharing options...
pmg Posted December 20, 2009 Report Share Posted December 20, 2009 :eek: das ich das nicht gesehen habe Danke :D Link to comment Share on other sites More sharing options...
oldbear Posted December 20, 2009 Report Share 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 Link to comment Share on other sites More sharing options...
pmg Posted December 24, 2009 Report Share Posted December 24, 2009 gibt es schon ne lösung ?? Link to comment Share on other sites More sharing options...
pmg Posted December 30, 2009 Report Share 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. Link to comment Share on other sites More sharing options...
ichee Posted August 15, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
stewe Posted September 11, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
stewe Posted September 14, 2011 Report Share Posted September 14, 2011 Niemand da, der etwas Hilfestellung geben kann und/oder die Funktion benutzt? Link to comment Share on other sites More sharing options...
oldbear Posted September 14, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
stewe Posted September 15, 2011 Report Share 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 Link to comment Share on other sites More sharing options...
objekt Posted September 15, 2011 Report Share Posted September 15, 2011 Inhalte => E-Mailmanager => update_order-admin (Statusänderung) Link to comment Share on other sites More sharing options...
stewe Posted September 15, 2011 Report Share 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! Link to comment Share on other sites More sharing options...
litho Posted November 29, 2011 Report Share Posted November 29, 2011 Geht das auch direkt in der send_order Email? direkt nach dem eingekauften Produkt? Link to comment Share on other sites More sharing options...
litho Posted November 29, 2011 Report Share 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... Link to comment Share on other sites More sharing options...
Honki Posted March 10, 2012 Report Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.