Ich sehe viele HTML-Dateien var/view_preprocessed/html
, die sowohl aus Kernmodulen als auch aus benutzerdefinierten Modulen generiert wurden . Es sieht so aus, als wären dies alles verwendete Vorlagen mit gestrippten Leerzeichen.
Alan Kent schrieb in Wie aktualisiere ich Magento 2-HTML-Dateien in Grunt? ::
Sie "stellen" keine PHTML-Dateien bereit. Sie werden durch Blöcke in Layoutdateien referenziert und serverseitig verarbeitet. "Grunzen" ist hier also nicht relevant, und die Bereitstellung statischer Inhalte ist ebenfalls nicht relevant.
Bei der Analyse der Bereitstellung statischer Inhalte und des Grunz-Workflows habe ich nichts im Zusammenhang mit Vorlagen gefunden. Ich denke, dies gilt immer noch.
Aber wann werden diese Dateien generiert? Und was passiert dort eigentlich und warum?
quelle
Antworten:
Beim Aufruf wird
bin/magento static-content:deploy
dies aufgerufen:\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Diese Methode ruft auf
was übersetzt bedeutet
\Magento\Deploy\Model\Deployer::deploy
. Am Ende dieser Methode finden SieWenn Sie möchten, können Sie genauer untersuchen
\Magento\Framework\App\Utility::getPhtmlFiles
, wie die Vorlagen abgerufen werden.Kurzversion:
Es ruft
accumulateModuleTemplateFiles
undaccumulateThemeTemplateFiles
aus der gleichen Klasse. Diese Methoden verwenden (am Ende)glob
und einige reguläre Ausdrücke, um alle Vorlagendateien aus den Modulen und aus den Themen abzurufen, und das Minimieren erfolgt durch\Magento\Framework\View\Template\Html\Minifier
(das implementiert\Magento\Framework\View\Template\Html\MinifierInterface
) basierend auf einigen seltsamen regulären Ausdrücken. (sieheminify
Methode).Was ich noch nicht weiß, ist, wie diese Vorlagen zur Verwendung geladen werden. höchstwahrscheinlich werden sie von der Template-Engine geladen. Ich werde hier zurück posten, wenn ich das finde.
[BEARBEITEN]
Ich habe festgestellt, wann die minimierten Vorlagen verwendet werden. Wenn Sie den Wert für
Store->Configuration->Developer->Template Settings->Minify HTML
zuYes
und wenn sie auf den Produktionsmodus.quelle
Store->Configuration->Developer->Template Settings->Minify HTML
Minified HTML immer noch nicht geladen wird. Gibt es irgendetwas, das dies blockieren kann? Funktioniert das nur im Produktionsmodus?