# Checkout Finish: Variable abhängig v. Warenkorbinhalt setzen

**URL:** <https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738>\
**Category:** Shopware 3.5\
**Tags:** templates--design\
**Created:** [18. November 2010 um 14:03 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738 "2010-11-18T14:03:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![pscho](https://avatars.discourse-cdn.com/v4/letter/p/eada6e/32.png) [@pscho](https://forum.shopware.com/u/pscho)\
**Post date:** [18. November 2010 um 14:03 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/1 "2010-11-18T14:03:50Z")

</div>

Hallo zusammen, auf der Bestellbestätigungsseite (Checkout Finish) möchten wir abhängig vom Warenkobinhalt eine Variable setzen. Leider bin ich mit dem Smarty-System noch nicht so vertraut. Kann eventuell jemand helfen wie das geht? Aufgabe: Prüfe ob die Bestellung einen Artikel mit der Artikelnummer a enthält. Wenn ja, dann weise der Variable x den Wert w zu. Was ist falsch? - So hatte ich mir das gedacht: {foreach from=$sOrderDetails item=aktuelle\_posit} {if $aktuelle\_posit.ordernumber == a } {assign var=“x” value=w} {/if} {/foreach} Vielen Dank im Voraus, 🙂

---

<div class="post-metadata">

**Author:** ![avenger](https://avatars.discourse-cdn.com/v4/letter/a/9de0a6/32.png) [@avenger](https://forum.shopware.com/u/avenger)\
**Post date:** [18. November 2010 um 14:36 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/2 "2010-11-18T14:36:55Z")

</div>

Schreibe mal {debug} an den Anfang der Template-Datei, dann erstellt Smarty in einem separaten Fenster eine Liste aller dem Template verfügbaren Variable, Objekte usw. (Sofern die Shopware AG das {debug} nicht deaktiviert hat… 🕶 ) “ordernumber” scheint mir nicht unbedingt die Artikelnummer zu sein, sondern eher die lfd. Position… Mag mich aber täuschen.

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [18. November 2010 um 15:58 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/3 "2010-11-18T15:58:31Z")

</div>

Ist das der konkrete Code? Also wenn musst du == ‘A’ schreiben und nicht einfach nur A - ansonsten sieht das auf den ersten Blick nicht total verkehrt aus 😉

---

<div class="post-metadata">

**Author:** ![pscho](https://avatars.discourse-cdn.com/v4/letter/p/eada6e/32.png) [@pscho](https://forum.shopware.com/u/pscho)\
**Post date:** [18. November 2010 um 17:16 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/4 "2010-11-18T17:16:09Z")

</div>

Danke schonmal! 🙂 Öhm… ob das der korrekte Code ist? Wie gesagt der Smarty-Syntax ist mir vollkommen neu. Zuletzt hat jetzt gar nichts mehr funktioniert… - eine vollkommen weiße Seite statt Bestellbestätigungsseite… 🕶 Jetzt mal der komplette Schnipsel, Ziel ist ein Affiliate-Tracking. Wenn der Warenkorb den Artikel mit der Bestellnummer 01010204 enthält, soll die Variable $ttProductID den Wert 5509 annehmen. Im nachfolgenden Zählpixel wird die Variable dann an das Conversionsscript übermittelt. `{assign var="ttAmount" value=$sAmount|replace:",":"."} {assign var="ttShipping" value=$sShippingCosts|replace:",":"."} {assign var="ttValue" value=round(($ttAmount-$ttShipping)/1.19,2)} {assign var="ttProductID" value=4992} {foreach from=($sOrderDetails-\>value) item=aktuelle\_posit} {if $aktuelle\_posit.ordernumber == "01010204" } {assign var="ttProductID" value=5509} {/if} {/foreach} ![](https://www.shopdomain.de/conversion.php?campaignID=1234&productID={$ttProductID}&conversionType=sales&https=1&transactionID={$sOrderNumber}&transactionAmount={$ttValue}&email={$sUserData.additional.user.email}&descrMerchant=&descrAffiliate=)`

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [18. November 2010 um 17:27 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/5 "2010-11-18T17:27:16Z")

</div>

Welche Shopware Version setzt du ein? 3.5.0? Das ` {foreach from=($sOrderDetails-\>value) item=aktuelle\_posit} ` müsste doch so aussehen? ` {foreach from=$sBasket.content item=sBasketItem} {if $sBasketItem.ordernumber == "01010204" } {assign var="ttProductID" value=5509} {/if} {/foreach} `

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [18. November 2010 um 17:39 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/6 "2010-11-18T17:39:54Z")

</div>

P.s. weiße Seite ist merkwürdig - kommt da kein Smarty-Fehler? Kannst du mal in deiner Application.php throwExceptions & showExceptions auf true setzen?

---

<div class="post-metadata">

**Author:** ![pscho](https://avatars.discourse-cdn.com/v4/letter/p/eada6e/32.png) [@pscho](https://forum.shopware.com/u/pscho)\
**Post date:** [18. November 2010 um 19:44 UTC](https://forum.shopware.com/t/checkout-finish-variable-abhangig-v-warenkorbinhalt-setzen/738/7 "2010-11-18T19:44:18Z")

</div>

Wir haben hier momentan Version 3.5.2, nein ein Smarty-Fehler wurde nicht gemeldet. Die erzeugte weiße Seite hatte keine einzige Zeile Quelltext. Offenbar hat sich da die Smarty-Engine an irgendwas ganz böse verschluckt ☹ Mit dem Korrekturvorschlag getestet, das Ergebnis war unverändert („weiß“): `{foreach from=$sBasket.content item=sBasketItem} {if $sBasketItem.ordernumber == "01010204" } {assign var="ttProductID" value=5509} {/if} {/foreach}` Am Ende haben wir es jetzt mit folgender Variante zum Laufen gebracht: `{foreach item=i from=$sOrderDetails} {if $i.ordernumber == "01010204"} {assign var="ttProductID" value=5509} {/if} {/foreach}` Jetzt kommt alles wie gewünscht im Affiliatenetzwerk an (abweichende ProductID, Nettoumsatz nach Abzug von Versandkosten und Gutschein, etc.). Vielen Dank! 🙂
