কখন এবং কীভাবে পিএইচটিএমএল টেমপ্লেটগুলি ভিউ_প্রিপ্রোসেসে উত্পন্ন হয়?


11

আমি দেখছি প্রচুর পিএইচটিএমএল ফাইল উত্পন্ন হয়েছে var/view_preprocessed/html, মূল মডিউলগুলি এবং কাস্টম মডিউলগুলি থেকে। দেখে মনে হচ্ছে এগুলি হ'ল স্ট্রিপড হোয়াইটস্পেস সহ সমস্ত ব্যবহৃত টেম্পলেট।

অ্যালান কেন্ট লিখেছেন গ্রুঞ্জে আমি কীভাবে ম্যাজেন্টো 2 পিএইচটিএমএল ফাইল আপডেট করব? :

আপনি পিএইচটিএমএল ফাইলগুলি "মোতায়েন" করবেন না। এগুলি লেআউট ফাইলগুলিতে ব্লকগুলি দ্বারা রেফারেন্স করা হয় এবং সার্ভারের পাশে প্রক্রিয়া করা হয়। সুতরাং "গ্রুর্ট" এখানে প্রাসঙ্গিক নয় এবং স্থিতিশীল বিষয়বস্তু স্থাপন একইভাবে প্রাসঙ্গিক নয়।

এবং স্থিতিশীল বিষয়বস্তু স্থাপনা এবং গ্রান্ট ওয়ার্কফ্লো বিশ্লেষণ করার সময় আমি টেমপ্লেটগুলির সাথে সম্পর্কিত কিছু পাইনি, সুতরাং আমার ধারণা এখনও এটি সত্য holds

কিন্তু কখন এই ফাইলগুলি উত্পন্ন হয়? এবং সেখানে আসলে কী হচ্ছে এবং কেন?


আমি যেমন আবিষ্কার করেছি, এই ফাইলগুলি স্থির-সামগ্রী সহ উত্পন্ন হবে: কমান্ড মোতায়েন করুন। কোনও কারণে আপনাকে আপনার পরিবর্তনগুলি কাজ করতে var / view_preprocessed সমস্ত ফাইল মুছে ফেলতে হবে।
কেভিন ক্রিগার

উত্তর:


9

কল করার সময় 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পদ্ধতি দেখুন)।
আমি যে জিনিসটি এখনও জানি না, এটি কীভাবে এই টেমপ্লেটগুলি ব্যবহারের জন্য লোড হয়। সম্ভবত তারা টেম্পলেট ইঞ্জিন দ্বারা লোড করা হয়। আমি / যদি আমি এটি পাই তবে এখানে আবার পোস্ট করব।

[সম্পাদনা]
আমি যখন আবিষ্কার করেছি টেমপ্লেটগুলি ব্যবহার করা হয়। তোমার জন্য মান সেট যখন Store->Configuration->Developer->Template Settings->Minify HTMLথেকে Yesএবং যখন উৎপাদন মোড।


উত্তর করার জন্য ধন্যবাদ. আমি দেখতে পেয়েছি যে Store->Configuration->Developer->Template Settings->Minify HTMLএটি এখনও মিনিফিডেড এইচটিএমএল লোড করছে না। এমন কিছু আছে যা এটিকে বাধা দিতে পারে? এটি কি কেবল উত্পাদন মোডে কাজ করে?
দ্য
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.