# Artikelanlage / Speichern - Artikel auf laststock setzen

**URL:** <https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996>\
**Category:** Programmierung\
**Created:** [18. Mai 2018 um 09:57 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996 "2018-05-18T09:57:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pudellek](https://avatars.discourse-cdn.com/v4/letter/p/f475e1/32.png) [@Pudellek](https://forum.shopware.com/u/Pudellek)\
**Post date:** [18. Mai 2018 um 09:57 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/1 "2018-05-18T09:57:20Z")

</div>

Hallo,

ist es möglich per Plugin abzufangen wenn ein Artikel angelegt wird (bspw über die API Schnittstelle) und diesem Artikel direkt die Laststock Option zu setzen?

Wenn ja, welcher Ansatz wäre da der richtige? Hat mir jemand einen Tipp?&nbsp;

Vielen Dank und beste Grüße

---

<div class="post-metadata">

**Author:** ![piweck](https://avatars.discourse-cdn.com/v4/letter/p/c77e96/32.png) [@piweck](https://forum.shopware.com/u/piweck)\
**Post date:** [18. Mai 2018 um 19:24 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/2 "2018-05-18T19:24:25Z")

</div>

Hey,

schaue dir am besten den folgenden Controller an:

```
Shopware_Controllers_Api_Articles

```

Dort werden in

```
postAction()

```

neue Artikel erzeugt und in

```
putAction()

```

Artikel aktualisiert.

Du könntest auf

```
'Enlight_Controller_Action_PreDispatch_Api_Articles'

```

subscriben und die PostData modifizieren, bevor die genannten Methoden aufgerufen werden.

&nbsp;

Hilft dir das weiter?

Grüße

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [20. Mai 2018 um 17:15 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/3 "2018-05-20T17:15:47Z")

</div>

Alternativ gibs auch den weg von ORM Events. Dort auf preUpdate listen und den Wert immer auf 1 setzen

---

<div class="post-metadata">

**Author:** ![Pudellek](https://avatars.discourse-cdn.com/v4/letter/p/f475e1/32.png) [@Pudellek](https://forum.shopware.com/u/Pudellek)\
**Post date:** [22. Mai 2018 um 09:44 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/4 "2018-05-22T09:44:46Z")

</div>

Hallo,

danke für die Hilfe, konnte es mit get- und setPost() lösen. Mit den drei Subscribern sollte ich doch alle Änderungen/Artikelanlagen abfangen können, die über die Schnittstelle oder händisch im Backend gemacht werden?

```
 'Enlight\_Controller\_Action\_PreDispatch\_Backend\_Article' =\> 'onArticleSave', 'Enlight\_Controller\_Action\_PreDispatch\_Api\_Articles' =\> 'onArticleSave', 'Enlight\_Controller\_Action\_PreDispatch\_Api\_Variants' =\> 'onArticleSave', (Brauche ich diesen hier für die Varianten?)

```

&nbsp;

Mein Problem ist noch, dass das lastStock bei den Varianten über die API-Schnittstelle nicht aktualisiert wird, wenn ein Artikel angelegt wird… Führe ich das POST aus, wird laststock in der s\_articles korrekterweise auf 1 gesetzt selbst wenn ich in dem POST ein false mitgegeben habe. Leider passiert das nicht bei den Varianten (s\_articles\_details).

Habt Ihr mir hierfür vielleicht auch einen Tipp?

Danke und beste Grüße

&nbsp;

---

<div class="post-metadata">

**Author:** ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)\
**Post date:** [22. Mai 2018 um 13:59 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/5 "2018-05-22T13:59:15Z")

</div>

Hallo @Pudellek‍,

probier&nbsp;mal was hat @Shyim‍&nbsp;empfehlen,&nbsp;&nbsp;ORM Events ist deine beste Lösung.

schau mal&nbsp;[Shopware models](https://developers.shopware.com/developers-guide/models/#model-events)

und hier du darfst&nbsp;Shopware\Models\Article\Article&nbsp; und&nbsp;Shopware\Models\Article\Detail&nbsp; Subscribering .

VG,

Ahmad

Tel.: +49 755&nbsp;- 183 990 00 | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

---

<div class="post-metadata">

**Author:** ![Pudellek](https://avatars.discourse-cdn.com/v4/letter/p/f475e1/32.png) [@Pudellek](https://forum.shopware.com/u/Pudellek)\
**Post date:** [23. Mai 2018 um 07:17 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/6 "2018-05-23T07:17:41Z")

</div>

> [@Shyim schrieb:](https://forum.shopware.com/profile/20792/Shyim "Shyim")
> 
> Alternativ gibs auch den weg von ORM Events. Dort auf preUpdate listen und den Wert immer auf 1 setzen

@Shyim‍

Hallo,

Danke für Eure Hilfe es hat funktioniert.

Eine Frage noch:&nbsp;wäre es nicht besser auf preFlush zu listen? Wenn ich die Dokue richtig verstanden habe, greife ich doch dann jegliche mögliche Änderung an meinem Artikel oder an meiner Variante&nbsp;ab?

Danke und beste Grüße

---

<div class="post-metadata">

**Author:** ![arnebecker](https://avatars.discourse-cdn.com/v4/letter/a/3bc359/32.png) [@arnebecker](https://forum.shopware.com/u/arnebecker)\
**Post date:** [24. Mai 2018 um 10:21 UTC](https://forum.shopware.com/t/artikelanlage-speichern-artikel-auf-laststock-setzen/52996/7 "2018-05-24T10:21:15Z")

</div>

Das preFlush Event greift erst nach dem preUpdate Event. Wäre auch ein Weg. Wenn du allerdings vor dem Flush schon mit deinem modidizierten Objekt weiter arbeiten willst, ist preUpdate besser.
