Grunt: Frontend ignoriert die mit grunt erzeugten css files

Hallo,

ich versuche jetzt Themes mit Grunt zu entwickeln. Grunt scheint in meiner vagrant Box gut  zu laufen.
Jedesmal wenn ein less File sich ändert sagt grunt:

>> File "Frontend/XXX/frontend/_public/src/less/_modules/main_navigation.less" changed.

Running "less:development" (less) task
>> 1 stylesheet created.

Running "eslint:src" (eslint) task


Running "watch" task
Completed in 7.694s at Fri Feb 03 2017 22:47:58 GMT+0000 (UTC) - Waiting...

Dieses neue css File wird im Frontend komplett ignoriert. Laut den Chrome Entwicklertools ändert sich das css nicht.
Wenn ich im Backend das Theme manuell kompiliere klappt es. Caches leeren usw alles probiert. Bringt nix.

Woran könnte das Problem liegen?

Ich bin nach dieser Anleitung vorgegangen:

https://developers.shopware.com/designers-guide/best-practice-theme-development/

Danke,

Jens

Hallo Nochmal,

ich konnte das Problem jetzt eingrenzen. Im Verzeichnis web/cache werden die von grunt generierten css Files 
angelegt. Das Problem ist, dass in diesem Verzeichnis auch noch die alten css Files stehen und die neuen ignoriert
werden. Hier ist das web/cache Verzeichnis:

vagrant@shopware:~/www/meinshop/web/cache$ ls -l
total 2780
-rw-rw-r-- 1 vagrant vagrant 2034629 Feb 17 23:55 1487199583_300f73c9701577c72f5067906284a44b.css
-rw-r--r-- 1 vagrant vagrant 416285 Feb 17 22:54 1487369910_c5c60c74aaefbdc5f0a7f57532d8be46.css
-rw-r--r-- 1 vagrant vagrant 375314 Feb 17 22:35 1487369910_c5c60c74aaefbdc5f0a7f57532d8be46.js
-rwxrwx--- 1 vagrant vagrant 346 Feb 17 21:52 all.less
-rwxrwx--- 1 vagrant vagrant 10302 Feb 16 21:17 config_1.json

Es gibt zwei .css Dateien: eine von 22:54 und die neue von 23:55. Shopware nimmt nur die ältere .css Datei. Die neuere wird
ignoriert. Wenn ich die alte .css Datei lösche, funktioniert alles.

Aber Grunt sollte doch eigentlich immer die neueste .css Datei erzeugen, so dass Shopware auch die neueste Datei verwendet.

Was kann man machen, ausser die alte Datei immer manuell zu löschen?

Danke und viele Grüsse,

Jens

1 Like

Hast du einmal deinen Browser Cache als auch den Shopware Cache geleert?

Für Chrome habe ich bspw. die Erweiterung „Clear Cache“ und das auf einen Shortcut gesetzt mit cmd+d leert Chrome den Browser Cache und lädt die Seite direkt neu.

 

Danke für den Tipp. Bringt aber leider nichts. Shopware ignoriert noch immer das neueste css.

Komisch, dass ich der einzige bin, der dieses Problem hat. Aber so ist Grunt für mich vollkommen nutzlos.
Vielleicht sollte ich das Gruntfile so verändern, dass am Anfang alle .css und .js Dateien in web/cache gelöscht werden.

Das Problem scheint an dem Link zur css Datei zu liegen, der im

der Shopware Seite definiert ist:

 

Dieser Link ändert sich nicht, wenn Grunt eine neue .css Datei generiert und damit wird natürlich auch immer das alte css 
aufgerufen. 

Woher bekommt Shopware denn mit, welche css Datei gerade aktuell ist?

 

Wenn ich mich nicht irre wird parallel dazu eine json-Datei generiert wo die aktuelle CSS-Version verlinkt steht.

/web/cache/config_1,json

Habe nun dasselbe Problem. Shopware lädt im Frontend die falsche CSS-Datei, nachdem ich im Backend die Theme-Dateien kompliert habe.

Ein sw:cache:clear env=development hat erstmal keine Abhilfe geschaffen. Auch via Backend alle Caches gelöscht - Shopware verwendet tapfer weiter die falsche CSS-Datei, d.h. nicht die, welche mit Grunt kompiliert wurde.

Das Löschen der alten CSS-Datei (danke @frimipiso) hat endlich dazu geführt, dass SW aufwacht und schnallt, dass eine neue CSS-Datei kompiliert wurde.

 

Hast du die Theme config gedumpt? Das kann man gerne mal vergessen und dann wundert man sich, warum keine Änderungen greifen.

https://developers.shopware.com/designers-guide/best-practice-theme-development/#dump-theme-configuration

@Shopwareianer schrieb:

Hast du die Theme config gedumpt? Das kann man gerne mal vergessen und dann wundert man sich, warum keine Änderungen greifen.

https://developers.shopware.com/designers-guide/best-practice-theme-development/#dump-theme-configuration

Die Konfig hatte ich geschrieben/gedumpt, aber das muss man wohl jeden Tag wiederholen und zusätzlich den Cache löschen wie im Link beschrieben.

@paddelboot schrieb:

@Shopwareianer schrieb:

Hast du die Theme config gedumpt? Das kann man gerne mal vergessen und dann wundert man sich, warum keine Änderungen greifen.

https://developers.shopware.com/designers-guide/best-practice-theme-development/#dump-theme-configuration

Die Konfig hatte ich geschrieben/gedumpt, aber das muss man wohl jeden Tag wiederholen und zusätzlich den Cache löschen wie im Link beschrieben.

Die musst du nicht jeden Tag dumpen. Du musst die nur dumpen, wenn du etwas in der Theme.php geändert hast oder bspw. im Theme Manager selbst etwas eingestellt hast wie ein Farbe oder dergleichen. Die gedumpte .json Datei enthält die ganzen Variablen. Sobald eine geändert worden ist, musst du entsprchend die Datei wieder dumpen.