Hallo liebe Community,
ich habe ein Problem, an dem ich viel zu lange sitze und wirklich verzweifle. Unzählige Dokus und Vorschläge haben mir leider nicht helfen können.
Ich entwickle ein Plug-In (Wichtig: Es ist kein Theme und darf auch kein Theme werden).
Das Plugin funktioniert gut und hat die selbe Struktur wie bei einem Theme, aber nun einmal ohne theme.json.
Sobald ich eine theme.json erstelle, habe ich nämlich das Problem, dass ich ein Theme und kein Plugin entwickle - und das ist in meinem Fall unerwünscht, weshalb ich sie weglasse.
Das Problem ist aber, dass dort anscheinend Pfade für das Kompilieren von SCSS-Dateien hinterlegt werden.
Beispiel aus einem anderen custom Theme mit einer theme.json:
„style“: [
„@Storefront“,
„app/storefront/src/scss/base.scss“
],
Anders kann ich mir nicht erklären, warum die base.scss einfach immer nur ignoriert wird.
Wenn ich zum Beispiel in meinem Plugin keine theme.json habe und
./build-storefront.sh
ausführe, dann wird die main.js-Datei trotzdem problemlos kompiliert.
Aber die base.scss einfach nicht
In meiner base.scss steht aktuell nur langweiliger Test-Kram:
body {
background: black;
}
Was ich außerdem bereits ohne Erfolg probiert habe (in allen möglichen Varianten, Kombinationen, 100te Male):
-
php bin/console cac:cl
-
php bin/console them:comp
-
./watch-storefront → stürzt immer ab, weil die Pfadangabe nicht stimmt und mir aus irgendeinem Grund ein /bin/ zu viel setzt.
-
./build.sh → hier wird mir merkwürdigerweise mitgeteilt, dass Webpack den production mode verwendet, obwohl ich seit jeher in der .env die dev-Umgebung hinterlegt habe. Es gibt auch keine andere .env. Wahrscheinlich gehts aber auch hier wieder um die Unterteilung in development und production-template.
Die Doku dazu stimmt leider auch nicht, zumindest klappt es bei mir nicht. Es soll ja angeblich alles automatisch gehen.
-
./build-storefront.sh → mir wird zwar angezeigt, dass mein Plugin berücksichtigt wurde, aber die base.scss wurde leider wie immer ignoriert.
-
Den Browser Cache gelöscht, gelöscht und wieder gelöscht. Den Browser gewechselt. Incognito-Fenster. Cache-lösch-Plugins installiert.
-
php bin/console plugin:activate, deactivate, install, uninstall, refresh…
-
/var/cache komplett löschen
-
Dateirechte überprüft
-
Eine andere Systemumgebung (Server) ausprobiert. Ohne Erfolg.
Es muss doch irgendwie möglich sein, dass man hier irgendwie diese base.scss integriert bekommt? Muss ich dafür irgendwie eine Webpack in mein Plug-In schieben? Wie wird die erkannt? Warum sind die Dokus noch vorhanden, obwohl sie nicht stimmen? Kann man einfach keine SCSS-Dateien außerhalb eines Plug-Ins kompilieren? Warum steht das nirgendwo? Oder übersehe ich einfach etwas absolut grundlegendes?
Der Vorschlag die css-Anpassungen ins Theme zu schieben und das Theme mit theme:compile zu kompilieren ist leider keine Option für meinen Case.
Ich bin über eure Hilfe extremst dankbar, weil ich absolut keine Idee mehr habe und ohne die SCSS-Integration mein ganzes Plugin in die Tonne kloppen kann.
LG, Fazzke