Wer in Magento 2 eine PHP, XML oder Template Datei ändert und trotz Löschung des Caches weiterhin den alten Stand sieht, hat nicht automatisch an der falschen Stelle gearbeitet. Neben dem Magento Cache können auch generierter Code, statische Dateien, PHP OPcache, Varnish oder ein vorgeschaltetes CDN dafür sorgen, dass Änderungen nicht sofort sichtbar werden.

Bei Templates helfen die Magento Template Hints dabei herauszufinden, welche .phtml Datei und welcher Block tatsächlich für einen Bereich verwendet werden. Einfach den folgenden Befehl im CLI ausführen und das Frontend erneut aufrufen.

Bei PHP Klassen ist dev:di:info hilfreich, da Magento damit unter anderem die tatsächlich verwendete Preference und vorhandene Plugins für eine Klasse anzeigt.

Bei Änderungen an PHP Klassen, Preferences oder Plugins kann insbesondere im Production Mode außerdem eine erneute Kompilierung notwendig sein.

Magento erzeugt dabei unter anderem Proxies, Factories und Interceptor Klassen neu. Wird noch alter generierter Code verwendet, kann sich eine Änderung deshalb trotz geleertem Cache scheinbar nicht auswirken.

Gerade bei Erweiterungen und individuellen Anpassungen kann dadurch schnell auffallen, dass nicht die erwartete Core Klasse ausgeführt wird, sondern eine Preference oder ein Plugin eingreift. Bei Templates kommen zusätzlich Theme Overrides und der Magento Fallback Mechanismus ins Spiel, weshalb ein einfaches bin/magento cache:flush nicht jedes Problem dieser Art lösen kann.

Wenn Änderungen trotz geleertem Cache nicht erscheinen, sollte deshalb zuerst geklärt werden, welcher Code tatsächlich ausgeführt wird und aus welchem Modul oder Theme er stammt.

Änderungen am Code werden nicht übernommen
Sie benötigen Unterstützung bei der Umsetzung dieser Lösung oder Sie haben die passende Lösung für Ihr Magento Problem noch nicht gefunden? Kontaktieren Sie mich und ich helfe Ihnen bei Ihrem Magento Projekt!
Schlagwörter: