Phtml टेम्पलेट कब और कैसे view_preprocessed में उत्पन्न होते हैं?


11

मुझे var/view_preprocessed/htmlमुख्य मॉड्यूल से और साथ ही कस्टम मॉड्यूल से उत्पन्न बहुत सारी phtml फाइलें दिखाई देती हैं । ऐसा लगता है कि ये सभी छीने हुए व्हाट्सएप के साथ उपयोग किए गए टेम्पलेट हैं।

एलन केंट ने लिखा कि मैं ग्रंट में मैगेंटो 2 phtml फ़ाइलों को कैसे अपडेट करूं? :

आप PHTML फ़ाइलों को "परिनियोजित नहीं" करते हैं। उन्हें लेआउट फ़ाइलों में ब्लॉक द्वारा संदर्भित किया जाता है और सर्वर साइड पर संसाधित किया जाता है। तो "ग्रंट" यहां प्रासंगिक नहीं है, और स्थैतिक सामग्री की तैनाती भी प्रासंगिक नहीं है।

और जब स्थिर सामग्री परिनियोजन और ग्रन्ट वर्कफ़्लो का विश्लेषण करते हुए मुझे टेम्पलेट से संबंधित कुछ भी नहीं मिला, तो मुझे लगता है कि यह अभी भी सही है।

लेकिन ये फाइलें कब उत्पन्न होती हैं? और वास्तव में वहां क्या हो रहा है और क्यों?


जैसा कि मुझे पता चला है, ये फाइलें स्टैटिक-कंटेंट: कमांड कमांड के साथ जेनरेट होंगी। किसी कारण से आपको अपने परिवर्तन कार्य को प्राप्त करने के लिए var / view_preprocessed में सभी फ़ाइलों को हटाना होगा।
केविन क्रिगर

जवाबों:


10

जब bin/magento static-content:deployयह कहा जाता है कॉलिंग : \Magento\Deploy\Console\Command\DeployStaticContentCommand::execute()

यह तरीका कहता है

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

जिसका अनुवाद है \Magento\Deploy\Model\Deployer::deploy। इस विधि के तल पर आप पाएंगे

   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++;
    }

यदि आप चाहते हैं कि आप गहराई से खुदाई कर सकें \Magento\Framework\App\Utility::getPhtmlFilesकि कैसे टेम्पलेट पुनर्प्राप्त किए गए हैं।
लघु संस्करण:
यह कॉल करता है accumulateModuleTemplateFilesऔर accumulateThemeTemplateFilesउसी कक्षा से। ये तरीके (अंत में) का उपयोग कर रहे हैं globऔर कुछ नियमित अभिव्यक्तियाँ मॉड्यूल से और विषयों से सभी टेम्पलेट फ़ाइलों को पुनः प्राप्त करने के लिए और कुछ अजीब नियमित अभिव्यक्तियों के आधार पर \Magento\Framework\View\Template\Html\Minifier(उस औजार \Magento\Framework\View\Template\Html\MinifierInterface) द्वारा छोटा किया जाता है । (देखें minifyविधि)।
वह चीज जो मुझे अभी तक पता नहीं है, यह कैसे उपयोग के लिए इन टेम्पलेट्स को लोड किया गया है। सबसे शायद वे टेम्पलेट इंजन द्वारा लोड किए गए हैं। मैं यहाँ वापस पोस्ट करूँगा / अगर मुझे वह मिल जाए।

[संपादित करें]
मैंने पाया कि जब minified टेम्पलेट का उपयोग किया जाता है। आप के लिए मूल्य निर्धारित करते हैं Store->Configuration->Developer->Template Settings->Minify HTMLकरने के लिए Yesऔर जब उत्पादन मोड पर।


जवाब के लिए धन्यवाद। मैंने पाया है कि Store->Configuration->Developer->Template Settings->Minify HTMLयह अभी भी न्यूनतम HTML लोड नहीं कर रहा है । क्या ऐसा कुछ है जो इसे अवरुद्ध कर सकता है? क्या यह केवल उत्पादन मोड में काम करता है?
TheBlackBenzKid 4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.