ম্যাজেন্টো 2: প্রতিটি পৃষ্ঠার <হেড> এ স্বেচ্ছাসেবক এইচটিএমএল যুক্ত করা হচ্ছে?


23

ম্যাজেন্টো 2-তে, প্রতিটি ফ্রন্টএন্ড / কার্টের পৃষ্ঠায় একটি স্বেচ্ছাসেবক বিট যোগ করা সম্ভব <head/>?

আমি জানি যে আমি <body>এই জাতীয় কোড সহ সামগ্রী / অঞ্চলে একটি ব্লক যুক্ত করতে পারি

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="content">
            <block type="Pulsestorm\Test\Block\Head" name="pulsestorm.head" as="pulsestorm.head" template="pulsestorm/head.phtml"/>
        </referenceBlock>
    </body>
</page>

তবে <head/>কোনও পৃষ্ঠার উপাদানগুলিতে সামগ্রী যুক্ত করার জন্য একই রকম ব্লক রয়েছে কিনা তা পরিষ্কার নয় । আমি ডেভ ডকস সাইট এবং উত্স কোডটি দেখেছি এবং আপনি একটি ট্যাগ দিয়ে নতুন ট্যাগ ব্যবহার করতে পারেন তার প্রচুর উল্লেখ রয়েছে<head/>

<head>
    <css.../>
    <js.../>
</head>

তবে আমি <head/>Magento 2 এর পৃষ্ঠার বিভাগে স্বেচ্ছাসেবী এইচটিএমএল / পাঠ্য যুক্ত করার কোনও উপায়ের সন্ধান পাই না find

উত্তর:


27

এটি সম্পর্কে 100% নিশ্চিত নয়, তবে আমি মনে করি আপনি এটি ব্যবহার করে মাথায় কোড যুক্ত করতে পারেন:

<body>
    <referenceBlock name="head.additional">
        <block class="Pulsestorm\Test\Block\Head" name="pulsestorm.head" as="pulsestorm.head" template="pulsestorm/head.phtml"/>
    </referenceBlock>
</body>

আমি জানি, কোডটি যুক্ত করা অদ্ভুত <body>লাগছে তবে এতে রেন্ডার করুন <head>তবে এখানে আমি কেন এমন মনে করি:

: পৃষ্ঠার "কঙ্কাল" এই টেমপ্লেটটি দ্বারা নির্ধারিত হয় https://github.com/magento/magento2/blob/develop/app/code/Magento/Theme/view/base/templates/root.phtml
এই টেমপ্লেটটি এত প্রতিধ্বনি $headAdditional( এবং অন্যান্য ভেরিয়েবল)
এই ভেরিয়েবলগুলি age ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ দেখুন \ ফলাফল :: রেন্ডার () এ আরম্ভ করা হয় এবং ভেরিটি এর $headAdditionalমতো দেখায়:

'headAdditional' => $addBlock ? $addBlock->toHtml() : null,

যেখানে $addBlockহয়

$addBlock = $this->getLayout()->getBlock('head.additional');

তারপরে আমি রেফারেন্সগুলি অনুসন্ধান করে head.additionalএটি খুঁজে পেয়েছিapp/code/Magento/Catalog/view/frontend/layout/catalog_product_opengraph.xml

<body>
    <referenceBlock name="head.additional">
        <block class="Magento\Catalog\Block\Product\View" name="opengraph.general" template="Magento_Catalog::product/view/opengraph/general.phtml">
            <block class="Magento\Directory\Block\Currency" name="opengraph.currency" as="meta.currency" template="Magento_Catalog::product/view/opengraph/currency.phtml"/>
        </block>
    </referenceBlock>
</body>

আমি আসল কোডটি পরীক্ষা করিনি (আমি অলস হয়ে যাচ্ছি) তবে এটি আমার কাছে কেবল নেতৃত্ব।


3
এক বা দুই বছরে আপনি কেবল স্ট্যাক এক্সচেঞ্জের একটি প্রশ্ন জিজ্ঞাসা করার জন্য যথেষ্ট অলস হবেন: উপরোক্ত পুরোপুরি কাজ করেছেন (চোখের রোলস এবং মাথাটি সহ্য না করে কাঁপছে)
— অ্যালান স্টর্ম

4
যদি প্রতিনিধি: এম 2 নামগুলির জিনিসগুলি যেভাবে আমি পছন্দ করি না সুনামির পূর্ববর্তী এটি প্রজাপতি ফ্ল্যাপ।
— ব্রেন্ডন ফ্যালকভস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.