Veo muchos archivos phtml generados en var/view_preprocessed/html
módulos centrales y módulos personalizados. Parece que todas estas plantillas se usan con espacios en blanco despojados.
Alan Kent escribió en ¿Cómo actualizo los archivos phtml de Magento 2 en Grunt? :
No "despliega" archivos PHTML. Están referenciados por bloques en los archivos de diseño y procesados en el lado del servidor. Entonces "gruñido" no es relevante aquí, y la implementación de contenido estático tampoco es relevante.
Y al analizar el despliegue de contenido estático y el flujo de trabajo gruñido, no encontré nada relacionado con las plantillas, por lo que supongo que esto sigue siendo cierto.
¿Pero cuándo se generan estos archivos? ¿Y qué está pasando realmente allí y por qué?
fuente
Respuestas:
Cuando se llama
bin/magento static-content:deploy
esto se llama:\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Este método llama
lo que se traduce
\Magento\Deploy\Model\Deployer::deploy
. Al final de este método encontrarásSi lo desea, puede profundizar
\Magento\Framework\App\Utility::getPhtmlFiles
para ver cómo se recuperan las plantillas.Versión corta:
llama
accumulateModuleTemplateFiles
yaccumulateThemeTemplateFiles
de la misma clase. Estos métodos están utilizando (al final)glob
y algunas expresiones regulares para recuperar todos los archivos de plantilla de los módulos y de los temas y la minificación se realiza mediante\Magento\Framework\View\Template\Html\Minifier
(que implementa\Magento\Framework\View\Template\Html\MinifierInterface
) en base a algunas expresiones regulares extrañas. (verminify
método)Lo que aún no sé es cómo se cargan estas plantillas para su uso. lo más probable es que los cargue el motor de plantillas. Volveré a publicar aquí si / cuando encuentre eso.
[EDITAR]
Encontré cuando se usan las plantillas minificadas. Cuando establece el valor para
Store->Configuration->Developer->Template Settings->Minify HTML
ayYes
cuando está en modo de producción.fuente
Store->Configuration->Developer->Template Settings->Minify HTML
todavía no está cargando HTML Minificado. ¿Hay algo que pueda estar bloqueando esto? ¿Esto solo funciona en modo de producción?