Grunt / Kompilierung greift nicht bei custom Plugin

Guten Morgen,

ich entwickle derzeit ein Plugin. Grunt erkennt die geänderten Dateien in der Console und läuft durch, legt allerdings keine neue .css / .js Datei in /web/cache an. Erst wenn ich das Theme manuell im Backend kompiliere greifen die Änderungen.

Ich verwende Shopware 5.4.1

Meine Plugin Ordner Struktur:

MeinPlugin

  • Resources
    – frontend
    — js
    — less
    ---- all.less

In meiner Plugin.php muss ich ja seit Version 5.2.13 laut Devdocs keinen Subscriber mehr schreiben für die less/js Dateien.

Das Caching ist auf Dev Modus und ansonsten ist auch die config.php entsprchend angepasst.

    'template' => [
        'forceCompile' => true,
    ],
    'front' => [
        'showException' => true
    ],
    'phpsettings' => [
        'display_errors' => 1,
    ],

Hat einer einen Tip, warum das kompilieren nicht funktioniert bzw. warum Shopware keine .css/.js Datei anlegt?

@christiantrade schrieb:

Guten Morgen,

ich entwickle derzeit ein Plugin. Grunt erkennt die geänderten Dateien in der Console und läuft durch, legt allerdings keine neue .css / .js Datei in /web/cache an. Erst wenn ich das Theme manuell im Backend kompiliere greifen die Änderungen.

Ich verwende Shopware 5.4.1

Meine Plugin Ordner Struktur:

MeinPlugin

  • Resources
    – frontend
    — js
    — less
    ---- all.less

In meiner Plugin.php muss ich ja seit Version 5.2.13 laut Devdocs keinen Subscriber mehr schreiben für die less/js Dateien.

Das Caching ist auf Dev Modus und ansonsten ist auch die config.php entsprchend angepasst.

‚template‘ => [
‚forceCompile‘ => true,
],
‚front‘ => [
‚showException‘ => true
],
‚phpsettings‘ => [
‚display_errors‘ => 1,
],

Hat einer einen Tip, warum das kompilieren nicht funktioniert bzw. warum Shopware keine .css/.js Datei anlegt?

Führst du das Cache leeren vor dem initialisieren von Grunt über das Shellscript aus? (clear_cache.sh)

Hatte ich auch mal und lag am Ende am Cache (wie so oft)

./clear_cache.sh ausführen
php bin/console sw:theme:dump:configuration
grunt --shopId=X

Wenn dir die Doku nicht so zusagt, kannst du auch nochmal meinen Beitrag HIER dazu anschauen :wink:

Sollte das nicht helfen, kannst du mal in die config_x.json im web/cache Ordner anschauen. Dort sollte deine less/js File aus dem Plugin aufgelistet sein. Like so:

PS: Falls du das Live Reload Chrome Plugin noch nicht nutzt - empfehle ich dir dringend.

PPS: Wenn das alles nicht hilft und du nicht auf der ShopId 1 arbeitest, setze mal explizit die shopId - bei mir hat das lokal immer nur mit einem Shop funktioniert.