# Bestellung vor dem Speichern prüfen und ggf. Fehler melden

**URL:** <https://forum.shopware.com/t/bestellung-vor-dem-speichern-prufen-und-ggf-fehler-melden/38929>\
**Category:** Programmierung\
**Created:** [10. August 2016 um 08:24 UTC](https://forum.shopware.com/t/bestellung-vor-dem-speichern-prufen-und-ggf-fehler-melden/38929 "2016-08-10T08:24:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![saiiikon](https://avatars.discourse-cdn.com/v4/letter/s/6a8cbe/32.png) [@saiiikon](https://forum.shopware.com/u/saiiikon)\
**Post date:** [10. August 2016 um 08:24 UTC](https://forum.shopware.com/t/bestellung-vor-dem-speichern-prufen-und-ggf-fehler-melden/38929/1 "2016-08-10T08:24:47Z")

</div>

Hallo,

ich arbeite zur Zeit an ein kleines Plugin, welches ein Feld beim überprüfen (Confirm) der Bestellung hin zufügt. Nun will ich das Feld bevor die Bestellung gespeichert wird, überprüfen und falls es leer ist oder ein falchen Wert hat, den Benutzer zurück zu Confirm Seite schicken mit einer Fehler Meldung.

Das klappt einfach nicht, ich hab schon mehrere Events ausprobiert und jedesmal wenn der Kunde weitergeleitet wird, ist der Warenkorb leer und die Bestellung gespeichert 😕

Ich benutze zur Zeit folgende Events:

> Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Checkout

Um die ausgabe zu erzeugen.

Und dieses Event um die Daten zu überprüfen und den Kunden zurück zuschicken. Wie erwähnt, klappt das nicht wie geplant.

> Enlight\_Controller\_Action\_Frontend\_Checkout\_Finish

Folgende Methode wird benutzt um den Kunden zurück zuschicken:

```
				$subject->forward(
					'confirm',
					'checkout',
					'frontend',
					[
						'example' => 'lorem ipsum'
					]
				);

```

Vielleicht kann mir ja jemand weiter helfen?

---

<div class="post-metadata">

**Author:** ![saiiikon](https://avatars.discourse-cdn.com/v4/letter/s/6a8cbe/32.png) [@saiiikon](https://forum.shopware.com/u/saiiikon)\
**Post date:** [15. August 2016 um 06:51 UTC](https://forum.shopware.com/t/bestellung-vor-dem-speichern-prufen-und-ggf-fehler-melden/38929/2 "2016-08-15T06:51:54Z")

</div>

Push…

---

<div class="post-metadata">

**Author:** ![nether\_cat](https://avatars.discourse-cdn.com/v4/letter/n/a87d85/32.png) [@nether\_cat](https://forum.shopware.com/u/nether_cat)\
**Post date:** [23. Februar 2017 um 16:11 UTC](https://forum.shopware.com/t/bestellung-vor-dem-speichern-prufen-und-ggf-fehler-melden/38929/3 "2017-02-23T16:11:03Z")

</div>

Die Funktion, die du als Listener für das Event …

```
Enlight_Controller_Action_Frontend_Checkout_Finish

```

… registriert hast, muss einen Rückgabewert liefern, der nicht NULL ist,  
oder die erhaltenen Enlight\_Event\_EventArgs als verarbeitet markieren …

```
$args-≻setProcessed(true);

```

… damit …

```
Shopware_Controllers_Frontend_Checkout::finishAction()

```

… nicht mehr aufgerufen wird.

Du kannst die Logik für die Dispatch-Events durchlesen in&nbsp;dieser Funktion:

```
./engine/Library/Enlight/Controller/Action.php » Enlight_Controller_Action::dispatch()

```

Viele Grüße,&nbsp;

Mario Dorn
