Hallo,
gibt es schon eine Möglichkeit den internen Cache in Contao 4.4 wie bei Contao 3.5 für die Entwicklung abzuschalten?
Gruß Bernd
Hallo,
gibt es schon eine Möglichkeit den internen Cache in Contao 4.4 wie bei Contao 3.5 für die Entwicklung abzuschalten?
Gruß Bernd
Ja, die app_dev.php benutzen. Oder den Ordner var/cache/prod/contao löschen und den Cache nicht neu aufwärmen lassen*.
* Hinweis: der Cache wird neu aufgewärmt wenn du a) eine composer Operation durchführst, b) im Contao Manager den Cache neu aufbauen lässt, c) das Install Tool aufrufst oder d) den Cache über die Konsole selbst neu aufwärmst
Super... die Oder-Variante klappt, was versteckt sich hinter der app_dev.php? Im Forum finde ich nichts, bzw. habe zu viele Treffer. Hast du weitere Infos oder einen netten Link?
---------------------------------
Beste Grüße planepix
Contao für Webdesigner (Website), Twitter: @contaowebdesign
weitzeldesign
Contao-Sprechstunde
Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
Contao Jahrbuch: www.contao-jahrbuch.de
Contao Agenturtag: www.contao-agenturtag.de
Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki
Schon wieder ein Update?
Glücklich sind die, die den Wert erkennen – und wertschätzen.
„Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”
Oha, da bleibe ich doch erst einmal bei der "Oder-Variante" und warte bis ich irgendwann das Häkchen setzen kann.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Hier geht es um den internen Cache von Contao, also var/cache/prod/contao
Die Ordner var/cache/prod bzw. var/cache/dev existieren immer spätestens wenn man auf die app.php oder app_dev.php zugreift.
Mir geht es da tatsächlich wie Samson. Beim entwickeln unter Contao 4.4 und unter app_dev.php muss ich ständig den dev-Cache löschen. Wenn es hier noch etwas zusätzlich zubeachten gibt, wäre ich daran interessiert es zu erfahren.
Software-Entwickler Backend/Frontend
Warum genau musst du den ständig löschen? Musst du höchstens nur wenn du etwas an der config änderst
Während der Entwicklung eines Bundles schaut man hin und wieder ob die gemachten Anpassungen im System auch die gewollten Auswirkungen haben. Das Laden des Backend/Frontend (je nachdem) per Strg+F5 bringt aber oft einfach keine Resultate. Erst nach dem Löschen des Caches sehe ich die Auswirkungen.
Software-Entwickler Backend/Frontend
var/cache/ ist leer. Sobald ich die Seite app_dev.php/contao einmal refreshe werden unter var/cache/dev sofort wieder ein Haufen Ordner und Dateien angelegt. Der Ordner var/cache/dev/contao/cache wird zwar auch angelegt, aber er ist leer.
Mehr Sorgen als dieser Cache bereitet mir aber assets/css. Hier verewigen sich hartnäckig css-, scss-, gz- und andere Dateien, die die Theme-Entwicklung oder das Gestalten einer Website erheblich beeinträchtigen. Ich habe mich schon mal dusslig gesucht, warum meine Entwicklerseite anders aussah als meine Vorlageseite. Bis ich bei der Vorlageseite mal assets/css löschte und endlich das richtige Layout zu sehen bekam. Vorher dachte ich immer, meine Entwicklerseite wäre falsch. Dabei war die Vorlage falsch.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Das ist normal.
Das soll auch so sein. In der Entwicklungsumgebung gibt es keinen internen Cache.
Bindest du direkt SCSS ein? Wenn ja würde ich dir raten das nicht zu machen, sondern immer bereits kompiliertes CSS einzubinden. Siehe dazu auch https://github.com/contao/core-bundle/pull/1010
Ich verwende das ProTheme. Da ist kein (S)CSS in den Layouts eingetragen. Und auch in den Theme-Einstellungen (Spezialfunktion des Themeanbieters?) habe ich nichts zu (S)CSS gefunden. Wird wohl direkt über den Module-Ordner eingebunden ohne Einflußmöglichkeit im BE. Jedenfalls liefert das Theme eine Erweiterung mit, die SCSS parst.
Viele Grüße
Frank
Seit Mai 2013 Fan von Contao
Webmaster vom Deutschen Schachbund und Berliner Schachverband
Mein Blog: Schachbulle
Meine Erweiterungen bei GitHub
Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung
Das mit CSS und auch bspw. bei neuen Klassen ist mir klar. Aber ich habe das Verhalten tatsächlich auch, wenn ich nur Änderungen in Templates vornehme.
Software-Entwickler Backend/Frontend
Hmm, ok. Ich behalte das mal im Auge. Danke für deine Unterstützung.
Software-Entwickler Backend/Frontend
Ich konnte mein Problem nun beheben. Ich hatte in meinen Bash-Aliasen einen Befehl für das Löschen des Caches doppelt vorhanden und dem Angewendeten fehlte das '--no-warmup'.
Software-Entwickler Backend/Frontend
In die system/config/initconfig.php folgendes schreiben:
Schon erzeugt er die scss Dateien mit jedem Load neu :-)PHP-Code:
/**
* Delete CSS files in assets/css/ which are older than the newest SCSS file in files/*
*
* @author Andreas Burg <http://andreasburg.de/>
*/
// purge contao cache
\Files::getInstance()->rrdir('var/cache/prod/contao', true);
\Files::getInstance()->rrdir('assets/css', true);
Wenn man Änderungen an den Sprachdateien oder dem DCA macht, muss man vor jedem Reload den Cache leeren, auch wenn man über app_dev.php geht. Erst Gestern mit 4.4.16 ungefähr 53 Mal getestet. Das ist schon echt lässtig. Es wäre wirklich schön, wenn es hier eine Möglichkeit gäbe, dies während der Entwicklung zu umgehen. Wenn man ein neues Bundle erstellt, mag dies ja noch zu verkraften sein, da man ja ungefähr weiß, wo man hin will. Muss man sich aber Stück für Stück vorarbeiten z.B. weil man den Code anderer Debugen muss, ist es sehr sehr langwierig.
Viele Grüße,
eS_IT
--
e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
Website - Contao Codebook - Partnerprofil - GitHub
Wenn du die app_dev.php benutzt musst du das nicht machen. Evt. bist du aber in folgendes Problem gestolpert: https://github.com/contao/core-bundle/issues/740 - Sprachvariablen kannst du in der Entwicklungsumgebung nicht mit PHP Dateien überschreiben, wenn diese in XLF Dateien definiert sind. Das geht nur mit einem aufgebauten, internen Contao Cache.
@Spooky: Es geht nur um die Sprachdateien von Erweiterungen, die als PHP-Arrays vorliegen.
@webstar: Danke für den Hinweis, ich werde es versuchen. Aber spätestens wenn man z.B. über das Installtool die DB aktualisiert, wird der Cache doch neu aufgebaut, wenn ich mich nicht irre. Ist also auch nur bedingt eine Lösung. Ein Abschalten während der Entwicklung wäre schon schön.
Viele Grüße,
eS_IT
--
e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
Website - Contao Codebook - Partnerprofil - GitHub
Dann kann ich dein Problem nicht nachvollziehen. Über die Entwicklungsumgebung wird nichts im Ordner var/cache/dev/contao erzeugt und jede Änderung an bspw. TL_DCA oder TL_LANG ist sofort sichtbar.
Nein, in der Entwicklungsumgebung nicht.
Diese Möglichkeit hast du ja mit der Entwicklungsumgebung
Geändert von Spooky (13.03.2018 um 08:41 Uhr)
Das war mal der Fall. Wurde aber gefixt siehe https://github.com/contao/installation-bundle/issues/67
Also wie kann denn jetzt der ganz normale Wald-und-Wiesen Webdesigner wie ich den Cache am besten abschalten?
Kann doch nicht sein, dass man nach jeder Änderung im externen Less oder Css File im Backend die Daten bereinigen muss? Und das muss man tatsächlich, sonst ändert sich gar nix im Frontend - super anstrengend und nervig!
Die Option "Skripte komprimieren" in den Einstellungen könnte dein Problem lösen.
Tip von hier:
Hi
ich arbeite mit SASS-Dateien (also .scss), die in einer zentrale.css eingebunden werden.
Die zentrale.css wiederum wird als externes CSS im Contao-BE eingebunden.
Ab und zu habe ich das Problem, daß bei der Website-Erstellung Seiten im Debug-Modus ( app_dev.php ) über F5 nicht aktualisiert werden.
Wenn also im externen CSS / SCSS Änderungen vorgenommen werden reagiert die Aktualisierung F5 nicht. Erst nach einem Browsercache ist die Aktualisierung zu sehen.
Woran kann das liegen?
Änderungen im BE werden übernommen ohne den Browser zu cachen. Änderungen im externen CSS werden erst nach einem Browsercache übernommen.
Woran liegt das?
Wie löst man das Problem?
## LÖSUNG gefunden: ####
siehe hier
Geändert von Schnippel (29.07.2019 um 17:50 Uhr)
Auch in 4.9 ist es für mich noch mühsam in dca's und configs zu arbeiten..
Wie schon weiter oben beschrieben ist für mich die Lösung:
/system/config/initconfig.php erstellen und darin:
Bei BrowserCache Problemen einfach den Cache im Dev-Tools deaktivieren und das dev-Tool offen lassen.PHP-Code:
\Files::getInstance()->rrdir('var/cache/dev/contao', true);
//\Files::getInstance()->rrdir('assets/css', true);
Im dev modus, egal ob mit cookie oder mit .env, muss ich bei jeder Anpassung im dca file oder der Sprache den cache im Manager löschen.
Das sollte nicht passieren.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen