# Gelöst: Problem mit Shop-ID in Plugins unter 5.5.4

**URL:** <https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420>\
**Category:** Programmierung\
**Created:** [11. Januar 2019 um 10:53 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420 "2019-01-11T10:53:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [11. Januar 2019 um 10:53 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/1 "2019-01-11T10:53:05Z")

</div>

Moin,

ich stehe gerade ein wenig auf dem Schlauch.  
Bisher hole ich mir für den Configreader im neuen Pluginsystem die ShopId so (in der PluginName.php).

```
$this->container->get('Shop')

```

Beim Rumtesten für eine neues kleines Bastelprojekt bekomme ich nun aber \*nichts\* zurückgegeben, kann also keine Plugin-Config auslesen, wenn ich den Scope benötige.  
In einem anderen Plugin im „echten“ Shop geht das so aber nach wie vor noch.

Auch wenn ich es so wie in der Doku&nbsp;[Plugin configuration](https://developers.shopware.com/developers-guide/plugin-configuration/#configure-basic-settings) mache, bekomme ich keinen Wert.

Weiter war mich auch erst später aufgefallen, dass nach dem Update auf 5.5.4 ein Cron nicht mehr lief, weil der auch kein „Shop“ mehr zur Verfügung steht.  
Wie komme ich für den Configreader denn nun an den „Shop“?

```
private function getConfiguration() {
        /** return Plugin-Configuration from current shop */
        
        return $this->container->get('shopware.plugin.cached_config_reader')->getByPluginName($this->getName(), $this->container->get('Shop'));
    }

```

Hat sich da bei 5.5 was geändert? Gibts da einen Bug?

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [11. Januar 2019 um 11:20 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/2 "2019-01-11T11:20:13Z")

</div>

Glaube im Cron-Kontext musst du den Shop-Kontext erst erzeugen. Hatte das mal hier gemacht:

> <https://github.com/shopware/shopware/blob/5.5/engine/Shopware/Plugins/Default/Frontend/Notification/Bootstrap.php#L365-L368>

Bin aber selbst auch nur Hobby Bastler.&nbsp;

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [11. Januar 2019 um 11:25 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/3 "2019-01-11T11:25:23Z")

</div>

Nee, Cron war nur beiläufig - da habe ich den „shop“ rausgenommen - macht beim Cron ja auch keinen Sinn.

Hier geht es z.B. um einen Aufruf aus Enlight\_Controller\_Action\_PreDispatch\_Frontend\_Checkout und&nbsp;Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Detail  
Ein die($this-\>container-\>get(‚Shop‘)); im Event liefert auch einfach \*nichts\*  
Aber auch ohne Shop-Scope liefert mir der Configreader gerade keine Plugin-Config.  
Keine Ahnung, was da grad krumm läuft&nbsp; ![Undecided](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/undecided.png "Undecided")

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [11. Januar 2019 um 11:38 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/4 "2019-01-11T11:38:43Z")

</div>

Wo genau hast du den Code denn?&nbsp;  
In einem eigenen Subscriber? Oder direkt in der Bootstrap/plugin.php?

Im Subscriber musst du den Container auf jeden Fall im Construct erzeugen:&nbsp;[MNCountryRiskRule/CustomRule.php at master · mnaczenski/MNCountryRiskRule · GitHub](https://github.com/mnaczenski/MNCountryRiskRule/blob/master/Subscriber/CustomRule.php#L17-L24)

Und auch mit übergeben:&nbsp;[MNCountryRiskRule/services.xml at master · mnaczenski/MNCountryRiskRule · GitHub](https://github.com/mnaczenski/MNCountryRiskRule/blob/master/Resources/services.xml#L13)

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [11. Januar 2019 um 11:49 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/5 "2019-01-11T11:49:47Z")

</div>

Direkt in der „Bootstrap“.php, ganz ohne Subscriber & XML.  
Den „Teil“ nehme ich mir mit Copy & Paste eigentlich immer aus einem meiner anderen Plugins raus.  
die(var\_dump($this-\>container)) gibt ja auch Inhalte aus. Auch&nbsp;die(var\_dump($this-\>container-\>get(‚Shop‘))); gibt einen Dump - also ist der „Shop“ doch da, dann hat der Configreader wohl nen Schuss&nbsp; ![Undecided](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/undecided.png "Undecided")

---

<div class="post-metadata">

**Author:** ![sonic](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sonic/32/25728_2.png) [@sonic](https://forum.shopware.com/u/sonic)\
**Post date:** [11. Januar 2019 um 12:29 UTC](https://forum.shopware.com/t/gelost-problem-mit-shop-id-in-plugins-unter-5-5-4/57420/6 "2019-01-11T12:29:15Z")

</div>

Kann geschlossen werden… Depp vor Computer.  
Im&nbsp;onPostDispatchDetail hat sich heimlich ein **$** &nbsp;direkt vor einen Kommentar geschummelt - darum wurde dann die Var \*falsch\* zugewiesen.  
\*Rot werd\* und ein schönes WE

```
$/** get Plugin-Configuration */

        $pluginConfig = $this->getPluginConfiguration();

        die(var_dump($pluginConfig));

```

&nbsp;
