Я вижу множество phtml-файлов, сгенерированных как var/view_preprocessed/html
из основных модулей, так и из пользовательских модулей. Похоже, что это все используемые шаблоны с разделенными пробелами.
Алан Кент написал в Как я могу обновить phtml-файлы Magento 2 в Grunt? :
Вы не «развертываете» файлы PHTML. На них ссылаются блоки в файлах разметки и обрабатывают на стороне сервера. Таким образом, «ворчание» здесь не актуально, а развертывание статического контента также не актуально.
И при анализе развертывания статического контента и рабочего процесса я не нашел ничего, связанного с шаблонами, поэтому я думаю, что это все еще верно.
Но когда эти файлы генерируются? А что на самом деле там происходит и почему?
magento2
template
code-generation
magento-2.0.2
Фабиан Шменглер
источник
источник
Ответы:
При вызове
bin/magento static-content:deploy
это вызывается :\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Этот метод вызывает
что переводится как
\Magento\Deploy\Model\Deployer::deploy
. В нижней части этого метода вы найдетеЕсли вы хотите, вы можете копнуть глубже,
\Magento\Framework\App\Utility::getPhtmlFiles
чтобы увидеть, как извлекаются шаблоны.Короткая версия:
звонит
accumulateModuleTemplateFiles
иaccumulateThemeTemplateFiles
из того же класса. Эти методы используют (в конце концов)glob
и некоторые регулярные выражения для извлечения всех файлов шаблонов из модулей и из тем, а минимизация выполняется\Magento\Framework\View\Template\Html\Minifier
(реализует\Magento\Framework\View\Template\Html\MinifierInterface
) на основе некоторых странных регулярных выражений. (см.minify
метод).То, что я пока не знаю, это как эти шаблоны загружаются для использования. скорее всего, они загружаются с помощью шаблонизатора. Я вернусь сюда, если / когда найду это.
[РЕДАКТИРОВАТЬ]
Я нашел, когда используются миниатюрные шаблоны. Когда вы установите значение
Store->Configuration->Developer->Template Settings->Minify HTML
вYes
и когда в производственном режиме.источник
Store->Configuration->Developer->Template Settings->Minify HTML
он до сих пор не загружает Minified HTML. Есть что-нибудь, что может блокировать это? Это работает только в производственном режиме?