# Warenkorb erneut bestellen

**URL:** <https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167>\
**Category:** Programmierung\
**Created:** [22. Dezember 2015 um 09:34 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167 "2015-12-22T09:34:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 09:34 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/1 "2015-12-22T09:34:38Z")

</div>

Tach liebe Community, ich befasse mich seit einem Weilchen damit eine Funktion in den Warenkorb einzubauen, die es ermöglicht einen bereits bestellten Warenkorb erneut zu bestellen. Leider komplett ohne Erfolg, da sich meine Programmierkenntnisse fast gen 0 Bewergen. Als reiner Template-Mensch tu ich mir da echt ein bisschen schwer und hoffe somit hier etwas Unterstützung zu bekommen. Was ich bereits geschafft habe… - order\_item\_details.tpl: {$article.articleordernumber} hinzugefügt um zumindest schonmal die Artikelnummer anzeigen zu lassen - Herausbekommen das ich eigentlich nur über das array aus $article mir relevante Inhalte ziehen kann Mein Plan… Ich würde gerne einen Button hinter jedem bereits bestellten Artikel haben der da heißt: „Artikel erneut in den Warenkorb legen“. Ihr fragt euch sicher: Was will er jetzt mit der Artikelnummer? Naja das war das einzige was das Array so hergegeben hat 🙂 Aber ich denke ihr seht warscheinlich sofort wo mein Problem liegt. Ich würde mich sehr über euere Hilfe freuen. Evtl. weiß der ein oder andere auch ein Plugin dass das löst. Gruß Marc

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [22. Dezember 2015 um 09:50 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/2 "2015-12-22T09:50:04Z")

</div>

Diese Funktion gibts doch im Standard?

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/5/5bd5d1a080e1ca4153f29fafa4bdd779b5d42d58.png)

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 09:55 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/3 "2015-12-22T09:55:59Z")

</div>

Öhhhhm jetzt bin ich verwirrt. Bei uns im Shop gibt es diesen Button nicht. Kann man das irgendwo aktivieren?

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [22. Dezember 2015 um 10:00 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/4 "2015-12-22T10:00:54Z")

</div>

Diese Frage kann ich dir ehrlich nicht beantworten. Diese Funktion war bei uns schon immer da. Finde auch in den Grundeinstellungen nichts dazu. Müsste aber irgendwo einen Haken geben, wie man aus dem Code erschließen kann: [code]{\* Repeat order \*} {block name=„frontend\_account\_order\_item\_repeat\_order“} {if $offerPosition.activeBuyButton}

 {foreach $offerPosition.details as $article}{if $article.modus == 0} {/if}{/foreach}

```
                {* Repeat order button *}
                {block name="frontend_account_order_item_repeat_button"}
                    <input type="submit" class="btn is--primary is--small" value="{s name='OrderLinkRepeat'}{/s}">
                {/block}
            </form>

```

{/if} {/block}[/code]

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 10:03 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/5 "2015-12-22T10:03:41Z")

</div>

Aus welcher Datei hast du das raus?

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [22. Dezember 2015 um 10:05 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/6 "2015-12-22T10:05:05Z")

</div>

/themes/Frontend/Bare/frontend/account/order\_item\_details.tpl Zeile 309 bis 326

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 10:09 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/7 "2015-12-22T10:09:30Z")

</div>

Habs entdeckt - öhm aber irgendwie geht das nicht bei uns. Ich forsche mal im Backend ob ich was finde.

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 10:17 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/8 "2015-12-22T10:17:05Z")

</div>

Naja ich hab jetzt erstmal die if Anweisung entfernt. Jetzt gehts 🙂 [code] {\* Repeat order \*} {block name=“frontend\_account\_order\_item\_repeat\_order”}

 {foreach $offerPosition.details as $article}{if $article.modus == 0} {/if}{/foreach}

```
                {* Repeat order button *}
                {block name="frontend_account_order_item_repeat_button"}
                    <input type="submit" class="btn is--primary is--small" value="{s name='OrderLinkRepeat'}{/s}">
                {/block}
            </form>

```

{/block} [/code] Danke nochmal!!! Der Tipp hat geholfen.

---

<div class="post-metadata">

**Author:** ![useg](https://avatars.discourse-cdn.com/v4/letter/u/df705f/32.png) [@useg](https://forum.shopware.com/u/useg)\
**Post date:** [22. Dezember 2015 um 10:50 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/9 "2015-12-22T10:50:08Z")

</div>

[quote=“Neoxx”]Diese Frage kann ich dir ehrlich nicht beantworten. Diese Funktion war bei uns schon immer da. Finde auch in den Grundeinstellungen nichts dazu. Müsste aber irgendwo einen Haken geben, wie man aus dem Code erschließen kann: [code]{\* Repeat order \*} {block name=“frontend\_account\_order\_item\_repeat\_order”} {if $offerPosition.activeBuyButton}

 {foreach $offerPosition.details as $article}{if $article.modus == 0} {/if}{/foreach}

```
                {* Repeat order button *}
                {block name="frontend_account_order_item_repeat_button"}
                    <input type="submit" class="btn is--primary is--small" value="{s name='OrderLinkRepeat'}{/s}">
                {/block}
            </form>

```

{/if} {/block}[/code][/quote] Da es ja die Abfrage gibt, `{if $offerPosition.activeBuyButton}` muss es doch im Backend eine Einstellung geben. Ich habe jetzt noch mal geschaut und es ist nichts unter Einstellung \> Grundeinstellungen zu finden.

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 10:53 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/10 "2015-12-22T10:53:34Z")

</div>

Jap so gings mir auch. Hab alles durchgeklickt.

---

<div class="post-metadata">

**Author:** ![useg](https://avatars.discourse-cdn.com/v4/letter/u/df705f/32.png) [@useg](https://forum.shopware.com/u/useg)\
**Post date:** [22. Dezember 2015 um 11:01 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/11 "2015-12-22T11:01:14Z")

</div>

> [@purpix](#):
>
> Jap so gings mir auch. Hab alles durchgeklickt.

---

<div class="post-metadata">

**Author:** ![Vitago\_GmbH](https://avatars.discourse-cdn.com/v4/letter/v/67e7ee/32.png) [@Vitago\_GmbH](https://forum.shopware.com/u/Vitago_GmbH)\
**Post date:** [22. Dezember 2015 um 11:03 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/12 "2015-12-22T11:03:00Z")

</div>

Hallo, also bei mir ist die Funktion auch vorhanden. Hab auch mal nachgeschaut, und finde auch keine Einstellung dazu. Lg

---

<div class="post-metadata">

**Author:** ![useg](https://avatars.discourse-cdn.com/v4/letter/u/df705f/32.png) [@useg](https://forum.shopware.com/u/useg)\
**Post date:** [22. Dezember 2015 um 11:10 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/13 "2015-12-22T11:10:26Z")

</div>

Ich habe jetzt noch mal einen ganz alten Beitrag von ottscho gefunden und ich denke so eine ähnliche Abfrage gibt es auch noch in Shopware5. Achtung von Shopware 3.5 [quote=„ottscho“]Ich habe mal die passende Stelle im Core gesucht. Hier wird entschieden ob der Button angezeigt wird, oder nicht! Aber so ganz verstehen tue ich es noch nicht! EDIT. Hats gefunden. Steht sogar als Klartext im Code 😉 // Set article in deactivate state if it’s an variant or configurator article ` /\*\* GET ARTICLE DETAILS START - @date: 05-24-2011 \*/ $active = 1; /\*\* GET ARTICLE DETAILS END \*/ foreach ($getOrderDetails as $orderDetailsKey =\> $orderDetailsValue){ $getOrderDetails[$orderDetailsKey]["amount"] = $this-\>sSYSTEM-\>sMODULES['sArticles']-\>sFormatPrice(round($orderDetailsValue["price"] \* $orderDetailsValue["quantity"],2)); $getOrderDetails[$orderDetailsKey]["price"] = $this-\>sSYSTEM-\>sMODULES['sArticles']-\>sFormatPrice($orderDetailsValue["price"]); /\*\* GET ARTICLE DETAILS START - @date: 05-24-2011 \*/ $tmpArticle = $this-\>sSYSTEM-\>sMODULES['sArticles']-\>sGetPromotionById('fix', 0, $getOrderDetails[$orderDetailsKey]['articleID']); if(!empty($tmpArticle) && is\_array($tmpArticle)) { // Set article in activate state $getOrderDetails[$orderDetailsKey]['active'] = 1; if(!empty($tmpArticle['purchaseunit'])) { $getOrderDetails[$orderDetailsKey]['purchaseunit'] = $tmpArticle['purchaseunit']; } if(!empty($tmpArticle['referenceunit'])) { $getOrderDetails[$orderDetailsKey]['referenceunit'] = $tmpArticle['referenceunit']; } if(!empty($tmpArticle['referenceprice'])) { $getOrderDetails[$orderDetailsKey]['referenceprice'] = $tmpArticle['referenceprice']; } if(!empty($tmpArticle['sUnit']) && is\_array($tmpArticle['sUnit'])) { $getOrderDetails[$orderDetailsKey]['sUnit'] = $tmpArticle['sUnit']; } if(!empty($tmpArticle['price'])) { $getOrderDetails[$orderDetailsKey]['currentPrice'] = $tmpArticle['price']; } if(!empty($tmpArticle['pseudoprice'])) { $getOrderDetails[$orderDetailsKey]['currentPseudoprice'] = $tmpArticle['pseudoprice']; } // Set article in deactivate state if it's an variant or configurator article if($tmpArticle['sVariantArticle'] === true || $tmpArticle['sConfigurator'] === true) { $getOrderDetails[$orderDetailsKey]['active'] = 0; $active = 0; } } else { $getOrderDetails[$orderDetailsKey]['active'] = 0; $active = 0; } /\*\* GET ARTICLE DETAILS END \*/ // Check for serial if ($getOrderDetails[$orderDetailsKey]["esdarticle"]){ $numbers = array(); $sql = " SELECT serialnumber FROM s\_articles\_esd\_serials, s\_order\_esd WHERE userID=? AND orderID=? AND orderdetailsID=? AND s\_order\_esd.serialID=s\_articles\_esd\_serials.id "; $getSerial = $this-\>sSYSTEM-\>sDB\_CONNECTION-\>GetAll($sql,array($this-\>sSYSTEM-\>\_SESSION["sUserId"],$orderValue["id"],$orderDetailsValue["id"])); foreach ($getSerial as $serial){ $numbers[] = $serial["serialnumber"]; } $getOrderDetails[$orderDetailsKey]["serial"] = implode(",",$numbers); // Building download-link $getOrderDetails[$orderDetailsKey]["esdLink"] = $this-\>sSYSTEM-\>sCONFIG["sBASEFILE"].'?sViewport=account&sAction=download&esdID='.$orderDetailsValue['id']; //$getOrderDetails[$orderDetailsKey]["esdLink"] = "http://".$this-\>sSYSTEM-\>sCONFIG["sBASEPATH"]."/engine/core/php/loadesd.php?id=".$orderDetailsValue["id"]; } // -- End of serial check } /\*\* GET ARTICLE DETAILS START - @date: 05-24-2011 \*/ $getOrders[$orderKey]['activeBuyButton'] = $active; /\*\* GET ARTICLE DETAILS END \*/ `[/quote] [allgemeines-f2/bestellungen-mykonto-bereich-t3867-10.html#p21044](http://forum.shopware.com/allgemeines-f2/bestellungen-mykonto-bereich-t3867-10.html#p21044)

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [22. Dezember 2015 um 11:24 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/14 "2015-12-22T11:24:10Z")

</div>

Hmm… Okay, dann müsste ja eine Logik dahinter stecken, die die Bedingung automatisch füllt. Nach ein bisschen rumprobieren, wird der Button nicht angezeigt: - Wenn ein Artikel aus der Bestellung ein ESD-Artikel ist. - Wenn ein Artikel aus der Bestellung gelöscht oder deaktiviert wurde. - Wenn der Status der Bestellung nicht auf “Komplett ausgeliefert” steht. Grüße

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 11:35 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/15 "2015-12-22T11:35:20Z")

</div>

[quote=“Neoxx”]Hmm… Okay, dann müsste ja eine Logik dahinter stecken, die die - Wenn der Status der Bestellung nicht auf “Komplett ausgeliefert” steht. Grüße[/quote] Das letztere stimmt glaub ich nicht. In deinem Screenshot steht der Status ja auch nicht auf “Komplett ausgeliefert”. Hab jetzt das Backend ein 2. Mal durchsucht. Keine Einstellung ☹

---

<div class="post-metadata">

**Author:** ![useg](https://avatars.discourse-cdn.com/v4/letter/u/df705f/32.png) [@useg](https://forum.shopware.com/u/useg)\
**Post date:** [22. Dezember 2015 um 11:43 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/16 "2015-12-22T11:43:35Z")

</div>

[quote=„Neoxx“]Hmm… Okay, dann müsste ja eine Logik dahinter stecken, die die Bedingung automatisch füllt. Nach ein bisschen rumprobieren, wird der Button nicht angezeigt: - Wenn ein Artikel aus der Bestellung ein ESD-Artikel ist. - Wenn ein Artikel aus der Bestellung gelöscht oder deaktiviert wurde. - Wenn der Status der Bestellung nicht auf „Komplett ausgeliefert“ steht. Grüße[/quote] - ($tmpArticle[‚pseudoprice‘]) wenn Artikel einen Sonderpreis hatte - ($tmpArticle[‚price‘]) wenn der damalige Artikel-Preis von jetzigen abweicht? - ($tmpArticle[‚sVariantArticle‘] === true || $tmpArticle[‚sConfigurator‘] === true) wenn Variantenartikel und oder ist?

---

<div class="post-metadata">

**Author:** ![Neox](https://avatars.discourse-cdn.com/v4/letter/n/b5a626/32.png) [@Neox](https://forum.shopware.com/u/Neox)\
**Post date:** [22. Dezember 2015 um 11:44 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/17 "2015-12-22T11:44:17Z")

</div>

[quote=“purpix”][quote=“Neoxx”]Hmm… Okay, dann müsste ja eine Logik dahinter stecken, die die - Wenn der Status der Bestellung nicht auf “Komplett ausgeliefert” steht. Grüße[/quote] Das letztere stimmt glaub ich nicht. In deinem Screenshot steht der Status ja auch nicht auf “Komplett ausgeliefert”. Hab jetzt das Backend ein 2. Mal durchsucht. Keine Einstellung :([/quote] “Bestellung wurde verschickt” = “Komplett ausgeliefert” 🙂 Der Textbaustein ist nur im Frontend anders als im Backend.

---

<div class="post-metadata">

**Author:** ![useg](https://avatars.discourse-cdn.com/v4/letter/u/df705f/32.png) [@useg](https://forum.shopware.com/u/useg)\
**Post date:** [22. Dezember 2015 um 11:46 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/18 "2015-12-22T11:46:08Z")

</div>

[quote=„purpix“][quote=„Neoxx“]Hmm… Okay, dann müsste ja eine Logik dahinter stecken, die die - Wenn der Status der Bestellung nicht auf „Komplett ausgeliefert“ steht. Grüße[/quote] Das letztere stimmt glaub ich nicht. In deinem Screenshot steht der Status ja auch nicht auf „Komplett ausgeliefert“. Hab jetzt das Backend ein 2. Mal durchsucht. Keine Einstellung :([/quote] Wenn es eine Abfrage wie in Shopware3.5 gibt wirst du auch keine Einstellung im Backend finden. ich wurde die Abfrage auch nicht so ohne weiters ausbauen, denn es machst ja auch Sinn bei gewissen Sachen den Button nicht anzeigen zu lassen.

---

<div class="post-metadata">

**Author:** ![artep](https://avatars.discourse-cdn.com/v4/letter/a/aca169/32.png) [@artep](https://forum.shopware.com/u/artep)\
**Post date:** [22. Dezember 2015 um 12:51 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/19 "2015-12-22T12:51:38Z")

</div>

Nur mal so zur Info: Der Bestellbutton wird z. B bei Variantenartikel nicht eingeblendet!

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [22. Dezember 2015 um 13:22 UTC](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167/20 "2015-12-22T13:22:21Z")

</div>

Also laut Shopware-Support gibt es keine Einstellungsmöglichkeit im Backend. Soweit bin ich schonmal. Bzgl… Varianten: Soll das heißen das wenn bei einer kompletten Bestellung eine Variante dabei ist, der Button nicht ausgeliefert wird? Was wäre der Zweck dahinter?

[Nächste Seite](https://forum.shopware.com/t/warenkorb-erneut-bestellen/33167.md?page=2)
