Saya melihat banyak file phtml dihasilkan var/view_preprocessed/html
, dari modul inti maupun dari modul khusus. Sepertinya ini semua templat yang digunakan dengan spasi kosong.
Alan Kent menulis di Bagaimana saya memperbarui file phtml Magento 2 di Grunt? :
Anda tidak "menyebarkan" file PHTML. Mereka direferensikan oleh blok dalam file tata letak dan diproses di sisi server. Jadi "kasar" tidak relevan di sini, dan penyebaran konten statis juga tidak relevan.
Dan ketika menganalisis penyebaran konten statis dan alur kerja kasar saya tidak menemukan apa pun yang terkait dengan template, jadi saya kira ini masih berlaku.
Tetapi kapan file-file ini dihasilkan? Dan apa yang sebenarnya terjadi di sana dan mengapa?
magento2
template
code-generation
magento-2.0.2
Fabian Schmengler
sumber
sumber
Jawaban:
Saat memanggil
bin/magento static-content:deploy
ini dipanggil:\Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()
Metode ini memanggil
yang diterjemahkan menjadi
\Magento\Deploy\Model\Deployer::deploy
. Di bagian bawah metode ini Anda akan menemukanJika mau, Anda dapat menggali lebih dalam
\Magento\Framework\App\Utility::getPhtmlFiles
untuk melihat bagaimana templat diambil.Versi singkat:
Memanggil
accumulateModuleTemplateFiles
danaccumulateThemeTemplateFiles
dari kelas yang sama. Metode ini menggunakan (pada akhirnya)glob
dan beberapa ekspresi reguler untuk mengambil semua file templat dari modul dan dari tema dan minifying dilakukan oleh\Magento\Framework\View\Template\Html\Minifier
(yang mengimplementasikan\Magento\Framework\View\Template\Html\MinifierInterface
) berdasarkan pada beberapa ekspresi reguler yang aneh. (lihatminify
metode).Masalahnya saya belum tahu, bagaimana template ini dimuat untuk digunakan. kemungkinan besar mereka dimuat oleh mesin template. Saya akan memposting kembali di sini jika / ketika saya menemukan itu.
[EDIT]
Saya temukan ketika templat yang diperkecil digunakan. Ketika Anda menetapkan nilai untuk
Store->Configuration->Developer->Template Settings->Minify HTML
untukYes
dan ketika pada mode produksi.sumber
Store->Configuration->Developer->Template Settings->Minify HTML
itu masih tidak memuat HTML yang diperkecil. Adakah yang bisa menghalangi ini? Apakah ini hanya berfungsi dalam mode produksi?