# Theme kompiliert sich automatisch selbst und schließt Plugin-Code aus

**URL:** <https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465>\
**Category:** Shopware 5\
**Created:** [9. Februar 2023 um 14:22 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465 "2023-02-09T14:22:25Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [9. Februar 2023 um 14:22 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/1 "2023-02-09T14:22:25Z")

</div>

Hallo zusammen,

bei einem unserer Kunden (Shopware 5.6.6) wird das Theme gegen 12 Uhr automatisch kompiliert. Ich konnte bisher nicht herausfinden, welches Skript das macht. Zusätzlich wird bei dem automatischen Compile der JS-Code eines Plugins nicht mit in die Theme-JS aufgenommen.

Welches Skript könnte das sein? Externe Crons gibt es nicht und beim Shopware-Cron laufen nur die Shopware\_CronJob\_Search, Shopware\_CronJob\_ArticleComment und Shopware\_CronJob\_ArticleSort um 12 Uhr, aber ich kann mir nicht vorstellen, dass das einer von denen ist.

Hat irgendjemand eine Idee, woran das liegen könnte? Und auch, warum dann der Plugincode ignoriert wird? Wenn ich das Theme über den Theme Manager kompiliere, wird der Plugincode berücksichtigt.

Viele Grüße,  
Malte

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [9. Februar 2023 um 14:46 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/3 "2023-02-09T14:46:51Z")

</div>

Ich konnte es auf den Cronjob Shopware\_CronJob\_ArticleSort eingrenzen, der ein selbstgeschriebener Cronjob ist, der letztlich den Befehl bin/console sw:theme:cache:generate ausführt.

Frage ist jetzt, warum dieser Befehl das Plugin-JavaScript ignoriert. Auch wenn ich den Befehl direkt über die Konsole ausführe wird der JavaScript-Code ignoriert. Während der Ausführung kommen folgende Meldungen:

```auto
Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Notice: Array to string conversion in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651

Warning: substr() expects parameter 1 to be string, array given in /vendor/oyejorge/less.php/lib/Less/Parser.php on line 2651
Clearing HTTP cache ...

```

Ich glaub jetzt aber mal nicht, dass die Warnings und Notices was damit zu tun haben?

Viele Grüße,  
Malte

---

<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:** [9. Februar 2023 um 14:55 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/4 "2023-02-09T14:55:05Z")

</div>

Sieht für mich danach aus, dass der Shop selber unter PHP 7 läuft und darum die Fehler im Backend nicht hat, die Console aber unter PHP 8 läuft - so als erste Vermutung.  
Das sind so typische Fehler, die bei einem PlugIn auftreten (und gab es auch im Core), wenn da etwas nicht sauber für PHP 8 angepasst wurde.

Wobei Shopware 5.6.6 sicherlich nicht für PHP 8 geeignet ist (ab 5.7) 😉

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [9. Februar 2023 um 15:09 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/5 "2023-02-09T15:09:03Z")

</div>

Danke für den Hinweis, sowohl Shop als auch CLI laufen aber unter PHP 7.3 ☹

---

<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:** [9. Februar 2023 um 15:12 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/6 "2023-02-09T15:12:37Z")

</div>

> [@mson](#):
>
> warum dieser Befehl das Plugin-JavaScript ignoriert

Vielleicht wurde der JS-Code einfach nur nicht sauber im Plugin eingebunden. Wo liegt denn der Code genau?

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [10. Februar 2023 um 08:08 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/7 "2023-02-10T08:08:01Z")

</div>

Ich hab vorhin mal den Command sw:theme:dump:configuration ausgeführt und die less und js Dateien von dem Plugin tauchen in dem Theme-Dump nicht mit auf.

Die Dateien liegen in der exakt gleichen Verzeichnisstruktur:  
engine/Shopware/Plugins/Community/Frontend/[Pluginname]/Views/frontend/\_public/src/less/all.less

Für Plugin A funktioniert es, für Plugin B nicht. Die Dateiberechtigungen sind ebenfalls dieselben.

Ich werde als nächstes Mal vom JavascriptColelctor die collectJavascriptFiles debuggen.

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [10. Februar 2023 um 08:51 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/8 "2023-02-10T08:51:21Z")

</div>

Okay, hab das Problem gefunden. In dem Plugin werden die Events zum Collecten der Less- und JavaScript Dateien untypisch registriert. Ist ein älteres Drittanbieter-Plugin, das nicht mehr aktualisiert wird. Werde das dann wohl selbst umschreiben müssen.

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [14. Februar 2023 um 08:25 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/9 "2023-02-14T08:25:41Z")

</div>

Also, das Plugin ist noch nach altem Schema programmiert ohne services.xml und added alle Subscriber im Event Enlight\_Controller\_Front\_DispatchLoopStartup. Deshalb greift es nicht für die CLI-Commands.

Jemand eine Idee, ob es da ein Event gibt, was entsprechend auch beim Ausführen des Commands greifen würde?

---

<div class="post-metadata">

**Author:** ![mson](https://avatars.discourse-cdn.com/v4/letter/m/5daacb/32.png) [@mson](https://forum.shopware.com/u/mson)\
**Post date:** [14. Februar 2023 um 08:34 UTC](https://forum.shopware.com/t/theme-kompiliert-sich-automatisch-selbst-und-schliesst-plugin-code-aus/98465/10 "2023-02-14T08:34:53Z")

</div>

Hab jetzt das Shopware\_Command\_Before\_Run genommen; falls jemand noch eine bessere Idee hat, gerne Bescheid geben.
