# Javascript in Plugin einbinden

**URL:** <https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370>\
**Category:** Programmierung\
**Created:** [11. November 2018 um 20:50 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370 "2018-11-11T20:50:41Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [11. November 2018 um 20:50 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/1 "2018-11-11T20:50:41Z")

</div>

Hallo,

ich versuche gerade eine Lazyloading Javascript Lösung in ein Plugin einzubinden und komme nicht weiter.  
Laut den Manuals gibt es hierbei zwei Lösungen zum Javascript-Einbinden, die bei mir beide nicht funktionieren:

**1. Frontend Resources auto-registration** ([Plugin quick Startup Guide](https://developers.shopware.com/developers-guide/plugin-quick-start/?_ga=2.168223012.480824019.1541809225-745948470.1446590369#extending-the-template))

Wenn man seine javascript sourcen in dieses Verzeichnis schreibst, sollten sie automatisch eingebunden werden: „custom/plugins/SwagResource/Resources/frontend/js/“

Das klappt aber nicht, obwohl ich SW5.4.5 verwende. Kann man über irgendein Log erkennen, warum dies nicht klappt?

**2. Javascript aktiv über das „Theme\_Compiler\_Collect\_Plugin\_Javascript“ event registrieren**  
Ich habe folgenden Code geschrieben:  
&nbsp;

Aber das funktioniert auch nicht. Kann jemand den Fehler erkennen?

Ich habe jetzt die Lazyload Funktionalität erstmal hart in mein Theme eingearbeitet, aber als Plugin wäre es schon viel  
eleganter.

Danke und viele Grüsse

Jens

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [11. November 2018 um 20:55 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/2 "2018-11-11T20:55:10Z")

</div>

Das „normale“ use Doctrine\Common\Collections\ArrayCollection; willst du nicht nutzen?

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [11. November 2018 um 22:14 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/3 "2018-11-11T22:14:26Z")

</div>

Danke für die Antwort.

Ich habe es jetzt mal so probiert, aber das funktioniert auch nicht:

```
    public function collectJs(\Enlight_Event_EventArgs $args) {
        $jsFiles = array( __DIR__. '/Resources/views/frontend/js/lazysizes.js');
        return new Doctrine\Common\Collections\ArrayCollection($jsFiles);
    }

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [11. November 2018 um 23:03 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/4 "2018-11-11T23:03:27Z")

</div>

```
 'addJsFiles',
            'Theme_Compiler_Collect_Plugin_Less' => 'addLessFiles'
        ];
    }

    public function addJsFiles(\Enlight_Event_EventArgs $args)
    {
        $jsFiles = array( __DIR__. '/Resources/frontend/_public/src/js/MEINEJAVASCRIPT.js');
        return new ArrayCollection($jsFiles);
    }

    public function addLessFiles()
    {
        $less = new LessDefinition(
            array(),
            array( __DIR__. '/Resources//frontend/_public/src/less/all.less'),
            __DIR__
        );
        return new ArrayCollection([$less]);
    }
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![frimipiso](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@frimipiso](https://forum.shopware.com/u/frimipiso)\
**Post date:** [12. November 2018 um 21:05 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/5 "2018-11-12T21:05:32Z")

</div>

@brettvormkopp‍: Vielen Dank für’s „an die Hand nehmen“.

Hatte wohl ein Brett vorm Kopf 🙂

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [12. November 2018 um 22:02 UTC](https://forum.shopware.com/t/javascript-in-plugin-einbinden/56370/6 "2018-11-12T22:02:23Z")

</div>

und ich danke dir, sonst hätte ich den fehlerhaften DoppelSlash in addLessFiles() nicht entdeckt. 😃 … bitte selbst korrigieren
