# Less Files im Plugin einbinden  / neues Plugin System

**URL:** https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974
**Category:** Programmierung
**Created:** [20. Januar 2017 um 12:56 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974 "2017-01-20T12:56:44Z")
**Posts on this page:** 11
**Page:** 2

<div class="post-metadata">

### Author: ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)
#### Post date: [23. Januar 2017 um 08:35 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/21 "2017-01-23T08:35:14Z")

</div>

Viele Wege führen nach Rom:

```
use Doctrine\Common\Collections\ArrayCollection;

class Shopware_Plugins_Frontend_TEST_Bootstrap extends Shopware_Components_Plugin_Bootstrap {

  private function registerEvents() {
    $this->subscribeEvent(
      'Theme_Compiler_Collect_Plugin_Less',
      'addLessFiles'
    );
  }

  // zusätzliches CSS bzw. LESS einbinden
  public function addLessFiles(Enlight_Event_EventArgs $args) {
    $less = new \Shopware\Components\Theme\LessDefinition( 
      array(),
      array( __DIR__. '/Views/_resources/less/all.less' ),
      __DIR__
    );
    return new Doctrine\Common\Collections\ArrayCollection(array($less));
  }

}

```

&nbsp;

---

<div class="post-metadata">

### Author: ![coarsy](https://avatars.discourse-cdn.com/v4/letter/c/59ef9b/32.png) [@coarsy](https://forum.shopware.com/u/coarsy)
#### Post date: [23. Januar 2017 um 08:39 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/22 "2017-01-23T08:39:46Z")

</div>

Genau so hab ichs früher immer gemacht, ganz ohne Subscriber… Jetzt halt mit Subscriber. Ist natürlich geringfügig schöner.

Für was ist denn eigentlich die Services XML konkret?  
&nbsp;

---

<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: [23. Januar 2017 um 08:59 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/23 "2017-01-23T08:59:27Z")

</div>

> [@R4M schrieb:](https://forum.shopware.com/profile/17170/R4M "R4M")
> 
> Viele Wege führen nach Rom:
> 
> use Doctrine\Common\Collections\ArrayCollection;
> 
> class Shopware\_Plugins\_Frontend\_TEST\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap {
> 
> private function registerEvents() {  
> $this-\>subscribeEvent(  
> ‚Theme\_Compiler\_Collect\_Plugin\_Less‘,  
> ‚addLessFiles‘  
> );  
> }
> 
> // zusätzliches CSS bzw. LESS einbinden  
> public function addLessFiles(Enlight\_Event\_EventArgs $args) {  
> $less = new \Shopware\Components\Theme\LessDefinition(  
> array(),  
> array( **DIR**. ‚/Views/\_resources/less/all.less‘ ),  
> **DIR**  
> );  
> return new Doctrine\Common\Collections\ArrayCollection(array($less));  
> }
> 
> }
> 
> &nbsp;

Hallo,

dir ist aber schon bewusst, das wir hier vom neuen Pluginsystem reden und nicht vom alten, oder? Hast du dir überhaupt einen einzigen Beitrag oder wenigstens die Überschrift durchgelesen \*kopfschüttel\*? Vorallem steht der Code bereits im ersten Beitrag so drin… Manche Leute…

Die service.xml ist für die Services - siehe Entwicklerhandbuch oder [https://developers.shopware.com/developers-guide/plugin-system/#container-configuration](https://developers.shopware.com/developers-guide/plugin-system/#container-configuration).

Beste Grüße

Sebastian

---

<div class="post-metadata">

### Author: ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)
#### Post date: [23. Januar 2017 um 09:27 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/24 "2017-01-23T09:27:31Z")

</div>

Ich bezog mich auf den Eingangspost und auf die Frage "Die Theme Kompilierung schlägt aber fehl… Hat jemand ne Idee, weshalb das nicht mehr so funktioniert? ". Mein Beispiel bezieht sich auf die neuen Pluginsysteme und ist in aktuellen SW-Version ohne Probleme lauffähig.

---

<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: [23. Januar 2017 um 09:31 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/25 "2017-01-23T09:31:38Z")

</div>

> [@R4M schrieb:](https://forum.shopware.com/profile/17170/R4M "R4M")
> 
> Ich bezog mich auf den Eingangspost und auf die Frage "Die Theme Kompilierung schlägt aber fehl… Hat jemand ne Idee, weshalb das nicht mehr so funktioniert? ". Mein Beispiel bezieht sich auf die neuen Pluginsysteme und ist in aktuellen SW-Version ohne Probleme lauffähig.

Hallo,

dir ist aber schon bewusst, dass man beim **neuen** Pluginsystem nicht mehr von Shopware\_Components\_Plugin\_Bootstrap ableitet oder ( [https://developers.shopware.com/developers-guide/plugin-system/#container-configuration](https://developers.shopware.com/developers-guide/plugin-system/#container-configuration) )? Das dein Beispiel nicht das neue Pluginsystem ist oder sich darauf bezieht, sieht man ja alleine schon am Pfad der Bootstrap - Datei (im neuen Pluginsystem gibt es kein Frontend, Backend etc im Pfad mehr, etc). Und hier geht es ausschließlich um das neue Pluginsystem.

Dass das von dir erwähnte **alte** Pluginsystem noch unter den aktuellen Shopware-Versionen funktioniert, ist jedem klar - aber überhaupt nicht Thema dieses Beitrags.

Beste Grüße

Sebastian

---

<div class="post-metadata">

### Author: ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)
#### Post date: [23. Januar 2017 um 09:42 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/26 "2017-01-23T09:42:38Z")

</div>

Ok, wir kommen hier so nicht weiter und es führt leider zu nichts.

---

<div class="post-metadata">

### Author: ![coarsy](https://avatars.discourse-cdn.com/v4/letter/c/59ef9b/32.png) [@coarsy](https://forum.shopware.com/u/coarsy)
#### Post date: [23. Januar 2017 um 09:45 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/27 "2017-01-23T09:45:00Z")

</div>

Ja, diese Plugins, zum Beispiel PayPal, Connect etc. basieren auch noch auf dem alten System.

---

<div class="post-metadata">

### Author: ![finkkraft](https://avatars.discourse-cdn.com/v4/letter/f/3bc359/32.png) [@finkkraft](https://forum.shopware.com/u/finkkraft)
#### Post date: [28. Februar 2017 um 10:21 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/28 "2017-02-28T10:21:05Z")

</div>

Hallo Leutz,

ich stand gerade vor dem gleichen Problem. Bei funktionierts wie folg **t:**

```
public static function getSubscribedEvents()
{
    return [
        'Theme_Compiler_Collect_Plugin_Less' => 'addLessFiles'
    ];
}

public function addLessFiles(\Enlight_Event_EventArgs $args)
{

    $less = new \Shopware\Components\Theme\LessDefinition([], [__DIR__. '/Resources/views/frontend/_public/src/less/all.less']);
    return new \Doctrine\Common\Collections\ArrayCollection([$less]);

}

```

&nbsp;

---

<div class="post-metadata">

### Author: ![coarsy](https://avatars.discourse-cdn.com/v4/letter/c/59ef9b/32.png) [@coarsy](https://forum.shopware.com/u/coarsy)
#### Post date: [1. März 2017 um 07:43 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/29 "2017-03-01T07:43:51Z")

</div>

> [Ich hatte die Frage weiter oben schon wie folgt beantwortet und gelöst.](https://forum.shopware.com/profile/19671/coarsy "coarsy")
> 
> So, das war jetzt ne schwere Geburt… Ich habs jetzt und sogar dort in dem Pfad, wo ichs ursprünglich haben wollte. Ganz ohne \_public etc…
> 
> &nbsp;
> 
> viewDir = $viewDir;  
> }
> 
> public static function getSubscribedEvents()  
> {  
> return array(  
> ‚Theme\_Compiler\_Collect\_Plugin\_Less‘ =\> ‚onCollectPluginLess‘  
> );  
> }
> 
> public function onCollectPluginLess() {
> 
> return new \Shopware\Components\Theme\LessDefinition(  
> ,  
> [$this-\>viewDir . ‚/Resources/views/frontend/less/all.less‘]  
> );
> 
> }
> 
> }
> 
> &nbsp;

---

<div class="post-metadata">

### Author: ![zone1987](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/zone1987/32/23408_2.png) [@zone1987](https://forum.shopware.com/u/zone1987)
#### Post date: [15. Januar 2020 um 09:36 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/30 "2020-01-15T09:36:26Z")

</div>

> [@sschreier schrieb:](https://forum.shopware.com/profile/18157/sschreier "sschreier")
> 
> > [@coarsy schrieb:](https://forum.shopware.com/profile/19671/coarsy "coarsy")
> > 
> > Hi nochmal,
> > 
> > Danke für Deine Geduld. Wie so sollte man auch die Views groß schreiben, wenn das Verzeichnis wie oben erwähnt ja klein geschrieben ist. Abgesehen davon gibt es auch keni \_public Verzeichnis, sondern die Daten liegen genau dort, wie ichs oben aufgemalt habe. Das macht mich echt fertig gerade!
> 
> Hall,
> 
> und warum legst du nicht einfach die Ordnerstruktur genauso an, wie Shopware es vorschreibt und ich nun mehrmals geschrieben habe? Wenn man es nicht so macht wie es vorgegeben ist, braucht man sich doch nicht wundern, das es nicht funktioniert. Das \_public - Verzeichnis ist zum Beispiel auch Voraussetzung und wichtig im Pfad. Nur **du** schreibst das Verzeichnis views klein, Shopware schreibt es groß (Views), da kannst du bei jedem Shopware eigenen Plugin nachsehen.
> 
> Beste Grüße
> 
> Sebastian

Das ist zwar schon alt und das Problem längst gelöst aber dazu muss ich jetzt trotzdem mal was schreiben.

Das views Verzeichnis wurde nur im alten Plugin System groß geschrieben und war auch teil des Plugin Rootverzeichnisses. Im neuen Pluginsystem wird es klein geschrieben und ist ein Unterordner von Resources. Desweiteren ist es nicht mehr zwingend nötig den \_public Ordner an zu legen und Less dateien werden automatisch importiert wenn sie im Ordner Resources/views/frontend/less liegen.

---

<div class="post-metadata">

### Author: ![Dwza](https://avatars.discourse-cdn.com/v4/letter/d/c57346/32.png) [@Dwza](https://forum.shopware.com/u/Dwza)
#### Post date: [22. Februar 2021 um 13:26 UTC](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974/31 "2021-02-22T13:26:40Z")

</div>

> [@zone1987 schrieb:](https://forum.shopware.com/profile/32930/zone1987 "zone1987")
> 
> Das ist zwar schon alt und das Problem längst gelöst aber dazu muss ich jetzt trotzdem mal was schreiben.
> 
> Das views Verzeichnis wurde nur im alten Plugin System groß geschrieben und war auch teil des Plugin Rootverzeichnisses. Im neuen Pluginsystem wird es klein geschrieben und ist ein Unterordner von Resources. Desweiteren ist es nicht mehr zwingend nötig den \_public Ordner an zu legen und Less dateien werden automatisch importiert wenn sie im Ordner Resources/views/frontend/less liegen.

Ich glaube die Information bezüglich des Pfades **Resources/views/frontend/less** ist so nicht ganz richtig.

Der Pfad für den Autoload ist **Resources/frontend/less** &nbsp;und es werden **NUR** die Less-Dateien geladen die in der **all.less** importiert sind, die in diesem Verzeichniss liegen.

Sprich, habe ich eine **halloWelt.less** , speichere ich sie unter **MeinPlugin/Resources/frontend/less/halloWelt.less**

Dazu lege ich noch eine **all.less** (_in dem Beispielfall hier im selben Verzeichniss_) an und importiere dann meine **halloWelt.less** in dieser.

**File: all.less**

```
@import "halloWelt";

```

Bei CSS und JS reicht das ablegen in entsprechendem Verzeichniss.

Zumindest ist diese Vorgehensweise der [Dokumentation](https://developers.shopware.com/developers-guide/plugin-quick-start/#frontend-resources-auto-registration)&nbsp;so zu entnehmen.

&nbsp;

Gruß

Dwza 🙂

[Vorherige Seite](https://forum.shopware.com/t/less-files-im-plugin-einbinden-neues-plugin-system/42974.md?page=1)
