# Export Bestellung nach Kauf

**URL:** https://forum.shopware.com/t/export-bestellung-nach-kauf/32346
**Category:** Programmierung
**Created:** [18. November 2015 um 14:03 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346 "2015-11-18T14:03:06Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![webadm](https://avatars.discourse-cdn.com/v4/letter/w/c6cbf5/32.png) [@webadm](https://forum.shopware.com/u/webadm)
#### Post date: [18. November 2015 um 14:03 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346/1 "2015-11-18T14:03:06Z")

</div>

hallo zusammen, ich versuche grad ein Plugin zu schreiben, welches mir nach einem Bestellvorgang die aktuelle Bestellung in eine Datei schreibt. Das klappt auch ganz gut. Mein Ansatz: [code]\<?php public function ShopwareModulesOrderSaveOrderFilterDetailsSQL(Enlight\_Event\_EventArgs $arguments){

```
	$return = $arguments->getReturn(); $sOrder = $arguments-\>getSubject(); $row = $arguments-\>getRow(); $user = $arguments-\>getUser(); $order = $arguments-\>getOrder(); $test\_array = array ( $order[number] =\> 'orderNumber', $row[articlename] =\> 'articlename', $row[articleID] =\> 'articleID', $row[ordernumber] =\> 'ordernumber' ); $xml = new SimpleXMLElement('<root></root>'); array\_walk\_recursive($test\_array, array ($xml, 'addChild')); $xmlAusgabe = $xml-\>asXML(); $fp = fopen("\_exportBestelltungenTest\_/export\_SaveOrder\_" . $order[number] . ".xml", "a+"); fwrite ($fp, $xmlAusgabe); } ?\> [/code] Die Ausgabe sieht wie folgt aus: [code]<?xml version="1.0"?><root><ordernumber>20113</ordernumber><articlename>Stichkerze</articlename>

```

\<?xml version="1.0"?\>

20113Mindermengenzuschlag  
[/code]

Das Problem: ich habe also pro Bestellung, sondern pro bestellten Artikel ein Array.

Wie kann ich es schaffen, dass ich ein Array pro Bestellung erhalte und der Aufbau wie folgt aussieht:

[code]

\<?xml version="1.0"?\> 20113 Stichkerze Mindermengenzuschlag

[/code]

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [18. November 2015 um 14:07 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346/2 "2015-11-18T14:07:50Z")

</div>

Du hast dich für ein event entschieden, das in einer Schleife (1x pro Artikel) gefeuert wird. Such dir ein event, welches die Bestellung behandelt - und nicht die Positionen. Außerdem: ich würde file\_put\_contents() empfehlen [http://de2.php.net/manual/en/function.f … ntents.php](http://de2.php.net/manual/en/function.file-put-contents.php) Viele Grüße

---

<div class="post-metadata">

### Author: ![webadm](https://avatars.discourse-cdn.com/v4/letter/w/c6cbf5/32.png) [@webadm](https://forum.shopware.com/u/webadm)
#### Post date: [18. November 2015 um 14:37 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346/3 "2015-11-18T14:37:08Z")

</div>

Danke! Könntest du mir auch sagen, welches Event ich nutzen könnte?

---

<div class="post-metadata">

### Author: ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)
#### Post date: [18. November 2015 um 15:57 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346/4 "2015-11-18T15:57:08Z")

</div>

Siehe: [https://github.com/shopware/shopware/bl … r.php#L505](https://github.com/shopware/shopware/blob/5.1/engine/Shopware/Core/sOrder.php#L505) Such dir ein sinnvolles event aus. Viele Grüße

---

<div class="post-metadata">

### Author: ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)
#### Post date: [19. November 2015 um 16:25 UTC](https://forum.shopware.com/t/export-bestellung-nach-kauf/32346/5 "2015-11-19T16:25:16Z")

</div>

Eine Vielzahl an Erweiterungen benutzt den Hook auf die sSaveOrder. Hooks sind immer hart mit Vorsicht zu genießen, scheint aber beim speichern der Bestellungen wohl eine ok’e Wahl zu sein. Hook ` $this-\>subscribeEvent( 'sOrder::sSaveOrder::after', 'foo' ); ` Funktion ` public function foo(Enlight\_Hook\_HookArgs $args) { $orderNumber = $args-\>getReturn(); } ` Schöne Grüße, Niklas
