View_preprocessed'de phtml şablonları ne zaman ve nasıl oluşturulur?


11

var/view_preprocessed/htmlÇekirdek modüllerden ve özel modüllerden oluşturulan birçok phtml dosyası görüyorum . Görünüşe bakılırsa bunların hepsi boşluğa sahip boşluğa sahip kullanılan şablonlardır.

Alan Kent, Grunt'ta Magento 2 phtml dosyalarını nasıl güncelleyebilirim? :

PHTML dosyalarını "dağıtmaz". Düzen dosyalarındaki bloklar tarafından referanslandırılır ve sunucu tarafında işlenir. Dolayısıyla "homurdanma" burada ilgili değildir ve statik içerik dağıtımı da benzer şekilde geçerli değildir.

Statik içerik dağıtımı ve homurdanma iş akışını analiz ederken şablonlarla ilgili hiçbir şey bulamadım, bu yüzden bu hala geçerli.

Ancak bu dosyalar ne zaman oluşturulur? Aslında orada neler oluyor ve neden?


Anladığım kadarıyla, bu dosyalar statik içerik: deploy komutuyla oluşturulacak. Herhangi bir nedenle, değişikliklerinizin çalışması için var / view_preprocessed içindeki tüm dosyaları silmeniz gerekir.
Kevin Krieger

Yanıtlar:


10

Bunu çağırırken bin/magento static-content:deploydenir: \Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()

Bu yöntemi çağırır

    $deployer = $this->objectManager->create(
        'Magento\Deploy\Model\Deployer',
        ['filesUtil' => $filesUtil, 'output' => $output, 'isDryRun' => $options[self::DRY_RUN_OPTION]]
    );
    $deployer->deploy($this->objectManagerFactory, $languages);

anlamına gelir \Magento\Deploy\Model\Deployer::deploy. Bu yöntemin altında bulacaksınız

   foreach ($this->filesUtil->getPhtmlFiles(false, false) as $template) {
        $this->htmlMinifier->minify($template);
        if ($this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
            $this->output->writeln($template . " minified\n");
        } else {
            $this->output->write('.');
        }
        $this->count++;
    }

İsterseniz \Magento\Framework\App\Utility::getPhtmlFilesşablonların nasıl alındığını görmek için daha derine inebilirsiniz .
Kısa versiyon:
Bu çağırır accumulateModuleTemplateFilesve accumulateThemeTemplateFilesaynı sınıftan. Bu yöntemler (sonunda) globve bazı düzenli ifadeleri modüllerden ve temalardan tüm şablon dosyalarını almak için kullanır ve küçültme, bazı garip düzenli ifadelere dayanarak \Magento\Framework\View\Template\Html\Minifier(uygular \Magento\Framework\View\Template\Html\MinifierInterface) tarafından yapılır . ( minifyyönteme bakınız ).
Henüz bilmediğim şey, bu şablonların kullanım için nasıl yüklendiği. büyük olasılıkla şablon motoru tarafından yüklenir. Bunu bulduğumda / bulduğumda buraya göndereceğim.

[EDIT]
Küçültülmüş şablonlar kullanıldığında buldum. Üretim modu Store->Configuration->Developer->Template Settings->Minify HTMLiçin Yesve ne zaman değerini ayarladığınızda .


Cevap için teşekkürler. Ben bulduk Store->Configuration->Developer->Template Settings->Minify HTMLhala minified HTML yüklenmiyor. Bunu engelleyebilecek bir şey var mı? Bu sadece üretim modunda mı çalışıyor?
TheBlackBenzKid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.