Magento 2 - Як я можу додати користувацький файл шаблону у <head>?


9

У magento 1.x я можу додати файли css до голови за допомогою helper, як наведено нижче.

<reference name="head">
    <action method="addCss"><stylesheet helper="module/helperclass/helperfunction"/></action>
</reference>

Але не можна цього робити на Magento 2.

Тож тепер я додав цей код <link rel="stylesheet" type="text/css" media="all" href="<?php echo $_helper->getCSSFile()?>">у контейнер "after.body.start".

Хто-небудь знає, як я можу додати спеціальний файл шаблону до нього <head>?

Відповіді:


17

Якщо ви хочете додати файл css в голову, ви можете використовувати цей код:

<head>
   <css src="path_to/file.css" />
</head>

Але якщо вам потрібно додати спеціальний блок в голову, ви можете використовувати цей код:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="head.additional">
            <block class="Magento\Framework\View\Element\Template" name="block_name" template="path_to_file.phtml" />
        </referenceBlock>
    </body>
</page>

Сподіваюсь, це допомагає


Чи можете ви запропонувати, як зробити те ж саме в адміністраторі, я спробував усі назви посилальних блоків, але не пощастило, хоча результат виходить правильно, коли я використовую посилання на блок вмісту
Sunil Verma

коли я використовую мій спеціальний блок замість Magento \ Framework \ View \ Element \ Template, це помилка відображення "об’єкт domdocument повинен бути створений", як видалити цю помилку і використовувати мій користувацький блок?
Санджай Гохіль

2

Шукав цю відповідь в Інтернеті, нарешті отримав її через багато експериментів.

Я вважаю, що це найпростіший спосіб:
перейдіть на сторінку, розташовану на панелі адміністратора.
Знайдіть свою сторінку та прокрутіть униз повз розділ вмісту до розділу XML оновлення макета.
У цьому полі ви можете додати певні сторінки CSS та JS.

<head> <css src="js/ingredients.css> </head>  

Це додасть ваш сценарій у верхній частині розділу.
(Робить речі складними для вашого JS)

<head><script src="requirejs/require.js"/><script src="js/ingredients.js"/></head>  

Вище ви помітите, що я додав requirejsфайл спочатку. Це робиться тому, що не додаючи його до персоналізованого файлу JS, ви не зможете отримати доступ до інших бібліотек, завантажених у Requjs.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.