psn Posted July 5, 2010 Report Share Posted July 5, 2010 Hallo, wie kann ich die Kunden-Bemerkung (Zusatzinfo) auf der Bestätigungsseite (subpage_confirmation.html) anzeigen lassen. Gruss Link to comment Share on other sites More sharing options...
psn Posted July 6, 2010 Author Report Share Posted July 6, 2010 weiss das keiner? gibts doch nicht :-) Der Platzhalter {$order_data.comments} wie in der Bestätigungs-email funktioniert auf der Bestätigungsseite nicht! gruss Link to comment Share on other sites More sharing options...
psn Posted July 8, 2010 Author Report Share Posted July 8, 2010 Bitte um Hilfe !!! Hat das Problem denn keiner? Link to comment Share on other sites More sharing options...
buchenkauz Posted March 2, 2011 Report Share Posted March 2, 2011 Hat das Problem denn keiner? Doch, mir ist es auch aufgefallen und bei mir funktioniert der Platzhalter auch nicht. Hast du inzwischen eine Lösung gefunden? Gruss. Link to comment Share on other sites More sharing options...
ph1975 Posted March 2, 2011 Report Share Posted March 2, 2011 Hi, ich hab es zwar nicht genau überprüft, aber der Fehler dürfte folgende Ursache haben: In der checkout.php wird relativ weit unten folgende Abfrage gemacht: if($page->page_action=='success'){ include 'xtCore/pages/page_action/checkout.success.php'; } [/PHP] In diesem File checkout.success.php wird die letzte Bestellung instanziert: [PHP] $success_order = new order($_SESSION['success_order_id'],$_SESSION['customer']->customers_id); [/PHP] dieses Array $success_order wird aber nicht an das Template übergeben, und daher funktioniert der Platzhalter nicht. Bugfix: in der checkout.success.php in Zeile 52 oder in der Nähe findet sich: [PHP] $checkout_data = array('page_action'=>$page_data,'show_next_button'=>$_show); [/PHP] ändern in: [PHP] $checkout_data = array('page_action'=>$page_data,'show_next_button'=>$_show,'order' => $success_order); [/PHP] Dann sollte über {$order.comments} oder ähnlich der platzhalter funktionieren. Zumindest solte über {$order|@print_r} mal das gesamte Order-Objekt auftauchen. Dann findet Ihr sicher selbst den richtigen Wert. Link to comment Share on other sites More sharing options...
buchenkauz Posted March 3, 2011 Report Share Posted March 3, 2011 Hallo ph1975, danke für die schnelle Antwort. Leider funktioniert es nicht. Müsste das Problem nicht eher in den Dateien "subpage_confirmation.html" oder "checkout.confirmation.php" liegen, weil die Einträge in das Feld "Bemerkungen" auf der confirmation-Seite nicht eingelesen oder aufgerufen werden. Vorhanden sind die Einträge aber, denn in der E-Mail kommen sie an und im Adminbereich werden sie auch angezeigt. Mit meinen bescheidenen php-Kenntnissen kriege ich es aber nicht raus. Sonnige Grüße Link to comment Share on other sites More sharing options...
ph1975 Posted March 3, 2011 Report Share Posted March 3, 2011 Hi Buchenkauz, also, ich habs bei mir im Testshop nachgespielt. Funktioniert eigentlich soweit ich das beurteilen kann wunderbar. Was habe ich gemacht? im File xtCore/pages/page_action/checkout.success.php folgende Änderung bei mir in Zeile 52 (kann bei Dir eine andere sein) $checkout_data = array('page_action'=>$page_data,'show_next_button'=>$_show); [/PHP] geändert in: [PHP] $checkout_data = array('page_action'=>$page_data,'show_next_button'=>$_show, 'order' => $success_order); [/PHP] Dann im File: templates/<TemplateVerzeichnis>/xtCore/pages/checkout/subpage_success.html testweise ganz oben eingefügt: [PHP]{$order|@print_r}[/PHP] dann wird mir nach Durchführung einer Bestellung das gesamte Order-Objekt ausgegeben. Auf die Comments kommst Du dann mit {$order.order_data.comments} Gib mal Bescheid ob´s geklappt hat. Gruss, Ph Link to comment Share on other sites More sharing options...
xenon777 Posted March 3, 2011 Report Share Posted March 3, 2011 Thema abonniert Link to comment Share on other sites More sharing options...
buchenkauz Posted March 3, 2011 Report Share Posted March 3, 2011 Hallo ph1975, ich glaube es liegt ein Missverständnis vor. Dein Vorschlag funktioniert und ich bekam alle Daten der Bestellung zu sehen, aber erst nach Abschluß der Bestellung. Ich will die eingetragenen Bemerkungen aber schon auf der Bestätigungsseite sehen. Mit {$order.order_data.comments} kann ich die eingetragenen Bemerkungen auf der confirmation-Seite (Bestätigungsseite) nicht eingelesen. Auch nicht mit: {$order_data.comments} oder {$comments} Hast du nicht auch einen Variablenaufruf (nennt man das so) für die "checkout.confirmation.php" oder "checkout.php", der dann in der "subpage_confirmation.html" verwendet werden kann. Durch eigenes Grübeln komm ich nicht drauf. Werden die Bemerkungen erst nach der Bestätigung auf der letzten Seite als order.order_data.comments angelegt und liegen bis dahin nur in einer Variablen? Danke schon mal und Grüsse. Link to comment Share on other sites More sharing options...
ph1975 Posted March 3, 2011 Report Share Posted March 3, 2011 Hi Buchenkauz, sorry, dass hatte ich wirklich überlesen und ja, geht genauso. Die gesamten Daten sind bis zur Confirmation-Page in der Session-Variable und dort im Cart-Objekt gespeichert. in der checkout.confirmation.php (xtCore/pages/page_action) ganz am Ende findest Du: $data = array('data' => $_SESSION['cart']->show_content, 'payment_info' => $payment_info, 'shipping_info' => $shipping_info, 'post_form' => $post_form, 'sub_total' => $_SESSION['cart']->content_total['formated'], 'sub_data' => $_SESSION['cart']->show_sub_content, 'tax' => $_SESSION['cart']->tax, 'total' => $_SESSION['cart']->total['formated'] ); [/PHP] Dabei enthält $_SESSION['cart']->show_content die gesamten Warenkorbinhalte und vermutlich auch den Comment. Dies wird in die "data" Variable an Smarty/Template übergeben. Versuch einfach mal im confirmation-template folgenden Platzhalter: {$data|@print_r} vermutlich ist es sowas wie {$data.comments} Grüße, Ph Link to comment Share on other sites More sharing options...
buchenkauz Posted March 3, 2011 Report Share Posted March 3, 2011 danke für deine Geduld, Ich kann den Inhalt des Warenkorbes wie vorgeschlagen anzeigen. Die Bemerkungen sind nicht darin gespeichert. Aufrufen konnte ich noch die Variablen von "checkout.confirmation.php": $payment_info $shipping_info Auch darin sind die Bemerkungen nicht gespeichert. Wenn ich das richtig sehe, werden die Bemerkungen in "checkout.php" erst in die Session-Variable in das Objekt order_comments (Zeile 155-157) und dann in die Variable $comments und als array in $order_data (Zeile 218) gespeichert. Ich kann in "subpage_confirmation.html" mit {$order_data|@print_r} aber diese Daten nicht aufrufen. Es erscheint nur eine "1". Hast du noch Geduld? Dieses Problem müssten doch viele haben. Der Kunde sollte doch alle eingegebenen Daten überprüfen können. Grüße in die sternenklare Nacht. Link to comment Share on other sites More sharing options...
ph1975 Posted March 3, 2011 Report Share Posted March 3, 2011 Versuch mal folgendes - ich habe die Comments bei mir abgestellt, daher kann ich es nicht wirklich testen. Die Comments werden nach $_SESSION['order_comments'] geschrieben. Du kannst per Smarty/Template Befehle direkt die Session-Daten auslesen mit: {$smarty.session.order_comments} [/PHP] Sollte klappen. Link to comment Share on other sites More sharing options...
buchenkauz Posted March 3, 2011 Report Share Posted March 3, 2011 Super ph1975, so geht es. Ich habe {$smarty.session.order_comments} in "subpage_confirmation.html" eingefügt, dort wo ich es haben will und jetzt werden die Bemerkungen angezeigt. Vielen Dank. Link to comment Share on other sites More sharing options...
xenon777 Posted March 4, 2011 Report Share Posted March 4, 2011 Gut zu wissen Link to comment Share on other sites More sharing options...
FITforKID Posted May 8, 2011 Report Share Posted May 8, 2011 hallo, habe ein ähnliches Problem. Möchte gerne die Kunden mail Adresse auf der checkout/success.html Seite ausgeben. Dachte ich könnte das im tamplate subpage_success.html mit {$smarty.session.customers_email_address} hinbekommen. geht leider nicht. Mit der Auftragsnummer geht es super hier habe ich: {$smarty.session.success_order_id}[/code] so gibt mir die Seite die Richtige Order ID aus. Habe bei der email auch versucht: [CODE]{$smarty.session.customer.customer_info.customers_email_address}[/code] Mit dem Erfolg, das es mir das ganze Layout/Template zerschießt. Hat jemand einen schnellen Rat bzw. Tip Vielen Dank! Link to comment Share on other sites More sharing options...
oldbear Posted May 9, 2011 Report Share Posted May 9, 2011 hi, liegt daran, das die E-Mail-Adresse im Objekt 'customer' und nicht in einer einfachen Variablen gespeichert ist ! {php} $customers_email_address = $_SESSION['customer']->customer_info['customers_email_address']; $this->assign('customers_email_address',$customers_email_address); {/php} {$customers_email_address} Grüsse Link to comment Share on other sites More sharing options...
FITforKID Posted May 9, 2011 Report Share Posted May 9, 2011 Vielen Dank Oldbear, und wieder einmal warst Du eine große Hilfe (in diesem doch leider oft so schweigsamem Forum.) So tuts auf jeden Fall! Link to comment Share on other sites More sharing options...
momper Posted January 27, 2012 Report Share Posted January 27, 2012 ... danke schön ... ... in der kombination mit dieser seite für das traversing durch die objekte in smarty: Smarty Zugriff auf Arrays und Objekte wer es mal in subpage_success ohne session ausprobieren will (nachdem jemand per "vorkasse-zahlung" ausgewählt hat): {if $success_order->order_data.payment_code == 'xt_prepayment'} {$success_order->order_total.total.formated} {/if} Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.