# Pluginerstellung: Erweiterung Bestellungen Positionen zusätzliches Feld

**URL:** <https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583>\
**Category:** Programmierung\
**Created:** [18. Februar 2016 um 12:09 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583 "2016-02-18T12:09:38Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Klara](https://avatars.discourse-cdn.com/v4/letter/k/e9c0ed/32.png) [@Klara](https://forum.shopware.com/u/Klara)\
**Post date:** [18. Februar 2016 um 12:09 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/1 "2016-02-18T12:09:38Z")

</div>

Hallo zusammen,

ich bin gerade dabei im Backend unter Bestellungen die Anzeige der Positionen um ein zusätzliches Feld zu erweitern. Neben “InStock” möchte ich noch ein weiteres Feld anzeigen in dem der tatsächliche Warenbestand laut Lager angezeigt wird. Das Feld in der Tabelle zu erweitern ist mir gelungen in

views/details/position.js und&nbsp;views/list/position.js

Der Warenbestand wird in ein zusätzliches Attribute in s\_articles\_attributes geschrieben, nennen wir es “storageInStock”. (s\_orders\_details\_attributes reicht mir hierfür nicht, da sich diese attribute nur auf eine Bestellung beziehen - theoretisch kann eine Bestellung ja x viele elemente haben).

Jetzt ist die Frage, gibt es denn eigentlich überhaupt die Möglichkeit einen Wert aus einer “fremden” attributes tabelle in das position model zu bekommen?&nbsp;

Ich wäre für einen Hinweis sehr dankbar!!

&nbsp;

VG, klara

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![steinsoftware](https://avatars.discourse-cdn.com/v4/letter/s/b487fb/32.png) [@steinsoftware](https://forum.shopware.com/u/steinsoftware)\
**Post date:** [18. Februar 2016 um 12:54 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/2 "2016-02-18T12:54:46Z")

</div>

Das hört sich alles ziemlich konfus an.

1. Im Feld inStock steht doch der tatsächliche Warenbestand laut Lager.

2. s\_order\_details\_attributes bezieht sich immer auf ein s\_orders\_details. Ein s\_orders\_details ist eine Position des Warenkorbs (also in den meisten Fällen eben ein Artikel des Warenkorbs)

3. Das hört sich nicht so an als ob du den klassischen Weg der Plug-In-Struktur mit Model-View-Controller Komponenten gefolgt wärst. Das hört sich nach nem ganz schönen gebastel an!

4. Du solltest dringend(!) die Tutorials hier durcharbeiten: [Developer Guides](https://developers.shopware.com/developers-guide/)

5. Schau dir mal die Events

und

```
 Shopware\_Modules\_Basket\_AddArticle\_FilterSql

```

sowie die Methoden (after-hook)

```
 sBasket::sAddArticle

```

an, damit lässt sich das auf jeden Fall lösen.

&nbsp;

---

<div class="post-metadata">

**Author:** ![Klara](https://avatars.discourse-cdn.com/v4/letter/k/e9c0ed/32.png) [@Klara](https://forum.shopware.com/u/Klara)\
**Post date:** [18. Februar 2016 um 13:15 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/3 "2016-02-18T13:15:27Z")

</div>

Hallo Steinsoftware,

vielen Dank für die Hinweise! ok dann verwerfe ich erstmal meinen Ansatz und schaue mir deine TIpps durch.

VG

---

<div class="post-metadata">

**Author:** ![Klara](https://avatars.discourse-cdn.com/v4/letter/k/e9c0ed/32.png) [@Klara](https://forum.shopware.com/u/Klara)\
**Post date:** [18. Februar 2016 um 13:16 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/4 "2016-02-18T13:16:48Z")

</div>

Nur als Ergänzung: ja theoretisch steht da der tatsächliche Warenbestand, wir pflegen aber öfter schon neue Waren ein bevor Sie tatsächlich im Lager sind, daher kann es da zu unstimmigkeiten kommen

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [18. Februar 2016 um 13:30 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/5 "2016-02-18T13:30:03Z")

</div>

> [@Klara schrieb:](https://forum.shopware.com/profile/23118/Klara "Klara")
> 
> Hallo zusammen,
> 
> ich bin gerade dabei im Backend unter Bestellungen die Anzeige der Positionen um ein zusätzliches Feld zu erweitern. Neben „InStock“ möchte ich noch ein weiteres Feld anzeigen in dem der tatsächliche Warenbestand laut Lager angezeigt wird. Das Feld in der Tabelle zu erweitern ist mir gelungen in
> 
> views/details/position.js und&nbsp;views/list/position.js
> 
> Der Warenbestand wird in ein zusätzliches Attribute in s\_articles\_attributes geschrieben, nennen wir es „storageInStock“. (s\_orders\_details\_attributes reicht mir hierfür nicht, da sich diese attribute nur auf eine Bestellung beziehen - theoretisch kann eine Bestellung ja x viele elemente haben).
> 
> Jetzt ist die Frage, gibt es denn eigentlich überhaupt die Möglichkeit einen Wert aus einer „fremden“ attributes tabelle in das position model zu bekommen?&nbsp;
> 
> Ich wäre für einen Hinweis sehr dankbar!!
> 
> &nbsp;
> 
> VG, klara
> 
> &nbsp;
> 
> &nbsp;

Hallo,

du pflegst also das Feld „inStock“ und das zusätzliche (Attributs-)Feld „storageInStock“ und möchtest jetzt in der Bestellliste bei der Positionsauflistung das Feld „storageInStock“ bzw. dessen Inhalt mit angezeigt bekommen? Machbar ist dies auf jeden Fall im Rahmen eines eigenen Backend-Plugins. Soll sich der Wert dann bei einer Bestellung auch verringern oder wird das immer handisch im Backend geändert?

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![Klara](https://avatars.discourse-cdn.com/v4/letter/k/e9c0ed/32.png) [@Klara](https://forum.shopware.com/u/Klara)\
**Post date:** [18. Februar 2016 um 14:16 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/6 "2016-02-18T14:16:05Z")

</div>

Hallo Sebastian,

ja genau das würde ich gerne erreichen. Der Wert des StorageInStock kommt aus einer anderen Datenbank die den Lagerbestand über eine andere Software verwaltet.

Wird aus dem Lager etwas entnommen, so ändert sich in der Lagersoftware die Anzahl vorhandener Posten. Das Plugin schreibt bei verschiedenen Aktionen (z.B. bei Initialiserung des Backends von Shopware)&nbsp; alle aktuellen Lagerbestände der fremden Datenbank in die s\_articles\_attributes in ein von mir erstelltes Extraattribute.

Jetzt wäre es schön gewesen den Wert aus s\_articles\_attributes bei den Bestellpositionen anzuzeigen. Ich glaube aber&nbsp;steinsoftware hat recht. Es ist leichter wenn ich einfach rückwirkend für z.B. alle 30 Tage s\_order\_detail\_attributes den Wert einfüge.

Außer du hättest da jetzt doch noch eine praktikable Idee für mich 😉

&nbsp;

VG, Klara

---

<div class="post-metadata">

**Author:** ![steinsoftware](https://avatars.discourse-cdn.com/v4/letter/s/b487fb/32.png) [@steinsoftware](https://forum.shopware.com/u/steinsoftware)\
**Post date:** [18. Februar 2016 um 14:29 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/7 "2016-02-18T14:29:52Z")

</div>

> Jetzt wäre es schön gewesen den Wert aus s\_articles\_attributes bei den Bestellpositionen anzuzeigen. Ich glaube aber&nbsp;steinsoftware hat recht. Es ist leichter wenn ich einfach rückwirkend für z.B. alle 30 Tage s\_order\_detail\_attributes den Wert einfüge.

Kann mich nicht erinnern das so gesagt zu haben 🙂

Der richtige Weg wäre die REST-API zu nutzen und im Wert inStock den tatsächlichen Lagerbestand zu schreiben und keine Tabellen zu erweitern.

Da läuft dann ein Task in der anderen Software der alle halbe Stunde oder so die aktuellen Bestände rüberschickt. Zusätzlich läuft ein Plug-In auf Shopware-Seite welches z.B. einen After-Hook auf sOrder::sSaveOrder hat und dem anderen System mitteilt, dass eine Bestellung im Shop war und das andere System sich über die REST-API die offenen Bestellungen abholen soll. Dann wären die Bestände im anderen System immer aktuell und im Shop immer halbstündig aktuell.

Um die Bestände dann auch in Echtzeit im Shop zu haben kann man ein Plug-In schreiben welches bei einem Artikel-Aufruf (Post-Dispatch von detail) sich die aktuellen Bestände aus dem anderen System zieht und anzeigt (vorsicht Cache beachten - das muss dann mit no-cache-Funktionalitäten versehen sein).

---

<div class="post-metadata">

**Author:** ![Klara](https://avatars.discourse-cdn.com/v4/letter/k/e9c0ed/32.png) [@Klara](https://forum.shopware.com/u/Klara)\
**Post date:** [18. Februar 2016 um 14:35 UTC](https://forum.shopware.com/t/pluginerstellung-erweiterung-bestellungen-positionen-zusatzliches-feld/34583/8 "2016-02-18T14:35:41Z")

</div>

Nein 🙂 Aber du hast gesagt ich soll quasi einfach die richtige Tabelle verwenden 😉 Und das klingt vernünftig. In unserem System brauchen wir einen Bestand laut Shopware und einen laut Lager, weil wir über Shopware viele externe Shops mit beständen füttern, die auch vorbestellungen enthalten können. Etwas kompliziert, spielt aber &nbsp;auch keine Rolle :)&nbsp;

Aber danke für den Hinweis wie man einen sauberen Weg gehen könnte.

VG
