Liste der Artikel auf der Bestellabschlussseite

Hallo, ich benötige für ein Statistiktool die Artikelliste auf der Bestellabschlussseite in folgendem Format: “Artikelnummer,Artikelnummer,Artikelnummer”. Template: order_finished.tpl In welcher Variable stehen die Artikel? Kann ich PHP Code im Template verwenden um die Liste zu erstellen? Gruß und Danke

Geht es nicht oder weiß einfach Niemand wie es geht?

Ein paar mehr Informationen wären hilfreich. Was genau musst du auf der Abschlussseite ausgeben? Muss das per Javascript übermittelt werden?

Ja und Nein. Ich muss Java Variablen im Script setzen was über die Smarty Variablen keinerlei Problem ist. Wann der Aufruf innerhalb des Templates erfolgt spielt keine Rolle. Doch woher bekomme ich die Liste der Artikel die bestellt wurden?

Vom Prinzip her so. <script> var test = {foreach name=basket from=$sBasketAfterOrder.content item=sBasketItem key=key}{if $sBasketItem.modus == 0}{$sBasketItem.ordernumber}{if !$smarty.foreach.basket.last},{/if}{/if}{/foreach} </script> Danach müsste in der Variable „test“ ein String im Format „ordernumber,ordernumber,…“ stehen. P.s. wenn du alle Bestellpositionen ausgeben möchtest und nicht nur die tatsächlichen Artikel, musst du die If-Bedingung „{if $sBasketItem.modus == 0}“ und das abschließende {/if} entfernen!

1 „Gefällt mir“

Perfekt! Vielen Dank! Ich versuche da durchzublicken, komme aber noch nicht sehr weit. Währest du vielleicht so freundlich den Code “etwas” näher zu erläutern? Falls du nicht die Zeit findest ist es auch in Ordnung. Du hast mir sehr geholfen. Danke!

Hallo, also zum einen muss ich mal auf die Dokumentation vom Smarty verweisen (http://www.smarty.net/manual/de/) Also mit dem {foreach name=basket from=$sBasketAfterOrder.content item=sBasketItem key=key} wird die Variable $sBasketAfterOrder.content (ist ein Array) durchgegangen. Die einzelnen Array-Elemente stehen dann in sBasketItem. Die Variable key ist lediglich der Index des Array’s. Im zweiten Schritt {if $sBasketItem.modus == 0} wird geprüft, ob das Element im Warenkorb ein regulärer Artikel ist. Diese haben nämlich den “modus=0”. Mit {if !$smarty.foreach.basket.last},{/if} wird geprüft, ob es das letzte Element der “foreach”-Schleife ist. Ist dies nicht der Fall, so wird ein , ausgegeben. Ich hoff ich konnt dir das damit ein klein wenig näher bringen. Viele Grüße Thomas