# Shopware()-&gt;Container() - Zugriff auf Plugin Konfiguration?

**URL:** <https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419>\
**Category:** Programmierung\
**Created:** [7. Januar 2016 um 10:36 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419 "2016-01-07T10:36:45Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [7. Januar 2016 um 10:36 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/1 "2016-01-07T10:36:45Z")

</div>

Hallo! Kann man mit dem Dependency Container auf die Plugin-Konfiguration eines bestimmten Plugins zugreifen und falls ja, wie? Ich dachte an etwas wie: `Shopware()-\>Container()-\>get('plugins')-\>get('myPlugin')-\>get('config') // get sowas oder ähnliches?` Danke für alle hilfreichen Antworten!

---

<div class="post-metadata">

**Author:** ![pino](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/pino/32/14373_2.png) [@pino](https://forum.shopware.com/u/pino)\
**Post date:** [7. Januar 2016 um 13:56 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/2 "2016-01-07T13:56:41Z")

</div>

so mach ich das. ` // Backend $cfg = Shopware()-\>Plugins()-\>Backend()-\>PluginName()-\>Config(); // Frontend $cfg = Shopware()-\>Plugins()-\>Frontend()-\>PluginName()-\>Config(); $var = $cfg-\>var; `

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [7. Januar 2016 um 14:07 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/3 "2016-01-07T14:07:42Z")

</div>

Hallo, der Mix aus Beidem macht’s. Der zuvor genannte Weg ist natürlich auch in Ordnung und würde funktionieren, beinhaltet aber noch keinen DI-Container. So dürfte es gehen: ` Shopware()-\>Container()-\>get('plugins')-\>Frontend()|Backend()|Core()-\>PluginName()-\>get('config\_name'); ` Du musst hier natürlich noch drei Werte anpassen: 1. Backend/Core/Frontend, je nachdem, wo das Plugin liegt 2. Der technische Pluginname selbst, zum Beispiel SwagBonusSystem 3. Der Name der Config, bspw. „votedisable“ Übrigens: In der Bootstrap kannst du statt „Shopware()-\>Container()“ auch einfach „$this“ nutzen, also: ` $this-\>get('plugins')... ` Gruß, Patrick :shopware:

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [7. Januar 2016 um 16:38 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/4 "2016-01-07T16:38:47Z")

</div>

[quote=„Patrick Stahl“]Hallo, der Mix aus Beidem macht’s. Der zuvor genannte Weg ist natürlich auch in Ordnung und würde funktionieren, beinhaltet aber noch keinen DI-Container. So dürfte es gehen: ` Shopware()-\>Container()-\>get('plugins')-\>Frontend()|Backend()|Core()-\>PluginName()-\>get('config\_name'); ` Du musst hier natürlich noch drei Werte anpassen: 1. Backend/Core/Frontend, je nachdem, wo das Plugin liegt 2. Der technische Pluginname selbst, zum Beispiel SwagBonusSystem 3. Der Name der Config, bspw. „votedisable“ Übrigens: In der Bootstrap kannst du statt „Shopware()-\>Container()“ auch einfach „$this“ nutzen, also: ` $this-\>get('plugins')... ` Gruß, Patrick :shopware:[/quote] Gibt es irgendwo eine Liste mit den möglichen Configs? Ich möchte mir die Plugin-Konfiguration aus dem Backend holen. Bspw. habe ich in der Bootstrap ein text-Element mit dem Namen ‚host‘ ($form-\>setElement(‚text‘, ‚host‘ …). Wie könnte ich darauf zugreifen? Grüße

---

<div class="post-metadata">

**Author:** ![Thomas](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomas/32/8167_2.png) [@Thomas](https://forum.shopware.com/u/Thomas)\
**Post date:** [7. Januar 2016 um 18:34 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/5 "2016-01-07T18:34:54Z")

</div>

[quote=„DenKon26“]Gibt es irgendwo eine Liste mit den möglichen Configs?[/quote] config\_name durch host ersetzen dann sollte es gehen. Gruß

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [9. Januar 2016 um 12:16 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/6 "2016-01-09T12:16:28Z")

</div>

Hi, das Konfigurationssystem an sich hat mit den sog. Namespaces übrigens auch die Möglichkeit, direkt bestimmte Plugins abzufragen. Statt `Shopware()-\>Plugins()-\>Frontend()-\>MeinPlugin()-\>Config()-\>get('foo')` kann man entsprechend auch schlicht schreiben: `Shopware()-\>Config()-\>getByNamespace('MeinPlugin', 'foo')` Oder analog natürlich über den Container: `$container-\>get('config')-\>getByNamespace('MeinPlugin', 'foo')` Daniel

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [13. Januar 2016 um 15:32 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/7 "2016-01-13T15:32:18Z")

</div>

[quote=„Daniel Nögel“]Hi, das Konfigurationssystem an sich hat mit den sog. Namespaces übrigens auch die Möglichkeit, direkt bestimmte Plugins abzufragen. Statt `Shopware()-\>Plugins()-\>Frontend()-\>MeinPlugin()-\>Config()-\>get('foo')` kann man entsprechend auch schlicht schreiben: `Shopware()-\>Config()-\>getByNamespace('MeinPlugin', 'foo')` Oder analog natürlich über den Container: `$container-\>get('config')-\>getByNamespace('MeinPlugin', 'foo')` Daniel[/quote] Der Zugriff ist verständlich. Allerdings scheint dies ein Zugriff auf die Standard-Konfiguration? Ich habe Replace-Hooks meines Plugins auf Subscriber ausgelagert. Frage ich nun mit dem Container ein Feld der Konfiguration ab, so erhalte ich nicht die geänderte Konfiguration, sondern den Standard-Wert.

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [16. Januar 2016 um 10:54 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/8 "2016-01-16T10:54:02Z")

</div>

Hi, grundsätzlich wird die Konfiguration (Shopware()-\>Config()) immer abhängig vom derzeit aktiven Subshop geladen. Vom Subshop ist dann abhängig, ob dessen Konfiguration geladen wird, oder es einen Fallback auf den Standard-Wert gibt. Wenn sich das bei dir merkwürdig verhält, kannst du dir Shopware()-\>Config() ja einmal ausgeben lassen, dann siehst du die ganzen Werte und Namespaces, die geladen sind. Besten Gruß, Daniel

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [20. Januar 2016 um 10:37 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/9 "2016-01-20T10:37:32Z")

</div>

Okay Problem behoben. Es lag aber an einer anderen Sache und zwar dem, dass der CamelCase nicht unterstützt wurde. Ich musste die Felder der Plugin-Konfiguration entsprechend von CamelCase in Namen mit Unterstrichen ändern.

---

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [21. Januar 2016 um 11:10 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/10 "2016-01-21T11:10:55Z")

</div>

Allerdings scheint es doch noch ein Problem zu geben. Nämlich mit dem Cache… Offenbar muss nach jeder Änderung eines Feldes der Plugin-Konfiguration der Shop-Cache geleert werden, da sonst ein alter Wert genommen wird. Kann man das irgendwie umgehen oder warum wird nicht der neuste Werte abgerufen?

---

<div class="post-metadata">

**Author:** ![Thomas](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/thomas/32/8167_2.png) [@Thomas](https://forum.shopware.com/u/Thomas)\
**Post date:** [21. Januar 2016 um 11:44 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/11 "2016-01-21T11:44:47Z")

</div>

[quote=„DenKon26“]Kann man das irgendwie umgehen oder warum wird nicht der neuste Werte abgerufen?[/quote] Im Normalfall ändert man doch nicht alle paar Minuten die Plugin Konfiguration oder? Gruß

---

<div class="post-metadata">

**Author:** ![uehler](https://avatars.discourse-cdn.com/v4/letter/u/f14d63/32.png) [@uehler](https://forum.shopware.com/u/uehler)\
**Post date:** [21. Januar 2016 um 13:44 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/12 "2016-01-21T13:44:45Z")

</div>

In der Bootstrap kannst du auch mit $this-\>Config()-\>configname oder $this-\>Config()-\>get(‘configname’) auf die Konfigurationsfelder deiner Plugins zugreifen. Das Caching der Werte ist meiner Meinung nach nicht so schlimm, du änderst die Werte normalerweise ja nicht mehr, sobald das Plugin live ist.

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [21. Januar 2016 um 20:33 UTC](https://forum.shopware.com/t/shopware-gt-container-zugriff-auf-plugin-konfiguration/33419/13 "2016-01-21T20:33:05Z")

</div>

Hi, das Caching ist das gleiche wie bei den Grundeinstellungen - der Config-Cache muss also nach Änderungen geleert werden. Daniel
