# SW 5.5.0 Beta - You have requested a non-existent service "shop"

**URL:** https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194
**Category:** Programmierung
**Created:** [30. Mai 2018 um 07:32 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194 "2018-05-30T07:32:35Z")
**Posts on this page:** 9
**Page:** 2

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [30. Mai 2018 um 13:29 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/21 "2018-05-30T13:29:41Z")

</div>

Wenn das die Funktion ist, wie würde das aussehen? Ich bin leider gar nicht gut in php bzw. den Backend Frameworks… wie eingangs erwähnt bin ich in der Regel nur im Frontend (Smarty, Less und Co.) unterwegs, muss aber leider das mit der Plugin-Struktur auf die Kette bringen&nbsp; ![Foot-in-Mouth](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bedbc37f276faa6d086ddea9cd70cb0550bbd56e.png "Foot-in-Mouth")

```
/**
 * @return ArrayCollection
 */
public function onCollectLessFiles()
{

	$this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName('pluginName');

	$less = new LessDefinition(
		[
			'less-variable' => $this->config['lessVariable'],
		],
		[
			$this->pluginPath . '/Resources/views/frontend/_public/src/less/all.less',
		],
		$this->pluginPath
	);

	return new ArrayCollection([$less]);
}

```

&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: [30. Mai 2018 um 13:42 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/22 "2018-05-30T13:42:37Z")

</div>

Eigentlich bin ich grad nicht am Computer und mach was ganz Anderes - drum zwischen den Tasks: Ich weiß auch nicht wirklich, ob ich in „CollectLess **Files** “ Variablen definieren kann - hab mich mit dem Collector noch nicht beschäftigen müssen&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")  
Wenn Du wirklich den Shop-„Context“ benötigst, probier es mal so:

```
public function onCollectLessFiles(Enlight_Event_EventArgs $args){
 $this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName('pluginName', $args['shop']);
....
}

```

&nbsp;

Nachtrag:  
Ob Du den Shop-Context benötigst, hängt davon ab, wie Du in der config.xml das Element definiert hast. Nur wenn dort **scope=„shop“** &nbsp;definiert ist, benötigst Du den „Shop“, sonst geht auch der Config-Reader ohne Shop, da das Plugin dann keine Shop-speziefische Config für die Variable hat.

---

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [30. Mai 2018 um 13:50 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/23 "2018-05-30T13:50:43Z")

</div>

in der alten Plugin-Struktur lief das so:

```
$shop = $args->getShop();
$config = $this->collection->getConfig($this->name,$shop);

```

ich teste das nachher mal wie oben

```
$shop = $args->getShop();
$this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName('pluginName'), $shop);

```

&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: [30. Mai 2018 um 13:59 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/24 "2018-05-30T13:59:26Z")

</div>

Ja, so geht es auch, wenn Du aus einem Frontend- oder Widget-Controller - also Shop - heraus auf die Config zugreifen möchtest. Aber der Compiler ist nunmal kein Frontend-Controller, und somit hat der Fall „onCollectLessFiles“ eben keinen Shop-Context&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")  
Mache ich was z.B. in einem „Enlight\_Controller\_Action\_PostDispatchSecure\_Frontend“, so geht das so:  
(aus meinem "Ich baller alles vom Newsletter weg Plugin)

```
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'));
}

```

&nbsp;

---

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [30. Mai 2018 um 17:17 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/25 "2018-05-30T17:17:01Z")

</div>

Ich verwende für onCollectLessFiles Files nun:&nbsp;

```
$shop = $args->getShop(); 
$this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName('pluginName', $shop);

```

und&nbsp;onFrontendPostDispatch :

```
$shop = Shopware()->Shop();
$this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName('pluginName', $shop);

```

&nbsp;

Das habe ich nun in einem Subshop getestet und es funktioniert. Bei Sprachshops greifen die LESS-Variablen nicht, was aber bekannt ist, da der Sprachshop ja auch kein eigenes Theme bekommt.&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: [31. Mai 2018 um 07:08 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/26 "2018-05-31T07:08:48Z")

</div>

So 100% bin ich mit dem \_\_get() noch nicht auf „Du“&nbsp;- für einen Key im Array muss man doch GROß/klein-Schreibung beachten. Der \_\_get benutzt den Namen ja auch nur als key.  
Im Core verwendet Shopware an der Stelle den Key „shop“ - würde aus getShop() nicht „Shop“ als Key werden? Shop != shop =\> immer NULL?  
Da brauch ich jetzt mal Nachhilfe&nbsp; ![Wink](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

---

<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: [31. Mai 2018 um 07:15 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/27 "2018-05-31T07:15:12Z")

</div>

@sonic‍&nbsp;[shopware/ArrayCollection.php at 59024d2a7d6982390e42759dae9d052b30a02a55 · shopware/shopware · GitHub](https://github.com/shopware/shopware/blob/59024d2a7d6982390e42759dae9d052b30a02a55/engine/Library/Enlight/Collection/ArrayCollection.php#L221) deshalb klappt es 🙂

---

<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: [31. Mai 2018 um 07:16 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/28 "2018-05-31T07:16:51Z")

</div>

\*Boa\* - einfach ein paar Zeilen runterscrollen… war nur bis zum \_get gekommen&nbsp; ![Wearing-Sunglasses](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wearing-sunglasses.png "Wearing-Sunglasses")&nbsp;Besten Dank!&nbsp; ![Thumb-Up](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/thumb-up.png "Thumb-Up")

---

<div class="post-metadata">

### Author: ![carton1987](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@carton1987](https://forum.shopware.com/u/carton1987)
#### Post date: [18. September 2018 um 13:34 UTC](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194/29 "2018-09-18T13:34:33Z")

</div>

Ich habe dieses Fehler bei “Theme kompilierung”&nbsp; in “Theme Manager” wenn ich “Theme zuweisen” klicke.

Deshalb die Fehler ist nicht&nbsp;aus dem Grund von Plugins. Oder?

[Vorherige Seite](https://forum.shopware.com/t/sw-5-5-0-beta-you-have-requested-a-non-existent-service-shop/53194.md?page=1)
