# Best Practice zum Anlegen/Auslesen von Artikel-Varianten

**URL:** <https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852>\
**Category:** Programmierung\
**Created:** [7. April 2016 um 16:10 UTC](https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852 "2016-04-07T16:10:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![philderfuchs](https://avatars.discourse-cdn.com/v4/letter/p/91b2a8/32.png) [@philderfuchs](https://forum.shopware.com/u/philderfuchs)\
**Post date:** [7. April 2016 um 16:10 UTC](https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852/1 "2016-04-07T16:10:47Z")

</div>

Liebe Shopware-Community,

&nbsp;

ich schreibe gerade ein Plugin, bei welchem Artikel-Varianten automatisiert angelegt werden. Dabei wird jedoch der standard Shopware-Konfigurator nicht genutzt. Es läuft darauf hinaus, dass im Rahmen meines Plugins weitere Datenbankeinträge unter&nbsp; **s\_articles\_details&nbsp;** und dementsprechend auch unter&nbsp; **s\_articles\_attributes&nbsp;** sowie **s\_articles\_prices&nbsp;** gemacht werden müssen. Die Artikel-Varianten sollen ganz bewusst&nbsp;_nicht_&nbsp;vom Shopware-Konfigurator verwaltet werden.

&nbsp;

Soviel zum Kontext. Nun zur eigentlichen Frage: **Was ist der momentan empfohlene Weg zum&nbsp;Anlegen und Auslesen von Artikeln bzw. Artikel-Varianten für&nbsp;Frontend-Shopware-Plugins?** Ich fühle mich dabei unwohl, diese Aufgaben direkt via Datenbank-Queries zu erledigen und so eine Abhängigkeit in meinem Plugin zum Datenbankschema aufzubauen. Steht hierzu ein entsprechender Service im DI-Container zur Verfügung? Oder sollte die REST-Api von Shopware genutzt werden? Gibt es noch weitere&nbsp;Varianten, die ich noch nicht erkannt habe?

&nbsp;

Über Hinweise, gerne auch mit Beispielcode, würde ich mich sehr freuen.

Liebe Grüße

---

<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:** [8. April 2016 um 07:05 UTC](https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852/2 "2016-04-08T07:05:58Z")

</div>

Also:

1. Nur \_attributes Tabellen erweitern, da diese bei Datenbank-Updates nicht berücksichtigt und somit nicht überschrieben werden.

2. Du solltest dir dringend die Entwickler-Tutorials durchlesen! Dort wird Shopware erklärt. Doctrine, Models, Ressourcen, Controller, Events, Hooks… (die Tools die du zum Anlegen von Artikeln nutzen solltest).

[https://developers.shopware.com/developers-guide/](https://developers.shopware.com/developers-guide/)

1. Ist das wirklich ein Frontend-Plug-In? (Wobei das Shopware eigentlich relativ egal ist)

2. Warum sind deine Varianten bewusst anders? Was ist der Vorteil oder die Vorgabe?

---

<div class="post-metadata">

**Author:** ![philderfuchs](https://avatars.discourse-cdn.com/v4/letter/p/91b2a8/32.png) [@philderfuchs](https://forum.shopware.com/u/philderfuchs)\
**Post date:** [8. April 2016 um 07:49 UTC](https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852/3 "2016-04-08T07:49:22Z")

</div>

Hallo steinsoftware,

es handelt sich um ein Frontend-Plugin, bei welchem ein externes Konfigurationssystem über eine Web-API angesprochen wird. Nach Abschluss des&nbsp;Konfigurationsprozesses muss dynamisch eine Artikel-Variante auf Shopware-Seite erstellt werden.&nbsp;Mit dem \_attribute-System bin ich vertraut und es kommt im Rahmen des Plugins bereits zum Einsatz. Auch mit dem Developer Guide habe ich mich auseinandergesetzt, über vorhandene Services bzw. andere Lösungen&nbsp;zur Problemstellung (außer dem&nbsp;einfachen Einsatz von Datenbank-Queries)&nbsp;habe ich dort jedoch keine Information gefunden.

Im Developers-Guide finde ich nicht ausreichend Informationen über den Service-Layer. Damit meine ich nicht den Einsatz&nbsp;selbstgeschriebener Services im Plugin (die Quellen hierzu sind hervorragend, Danke an das Shopware-Team), sondern die bereits vorhandenen Shopware-Services.&nbsp;Denkbar wäre zum Beispiel etwas ähnliches wie das&nbsp;SearchBundle ([SearchBundle](https://developers.shopware.com/developers-guide/shopware-5-search-bundle/)), nur zur Interaktion mit einzelnen Artikeln (lesen/schreiben).&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:** [8. April 2016 um 12:53 UTC](https://forum.shopware.com/t/best-practice-zum-anlegen-auslesen-von-artikel-varianten/35852/4 "2016-04-08T12:53:15Z")

</div>

Ja aber z.B. unter engine/Shopware/Controllers/Backend/Article.php wird doch perfekt aufgezeigt wie ich mir das Artikel-Repository hol und eine Artikel speicher.

Die Stelle hat man sofort gefunden. So sollte man das machen. Muss dann eben an deine Bedürfnisse angepasst werden. Das meinte ich mit meinem Punkt 2.
