Добавьте файл.phtml на все страницы magento 2


Я хочу добавить свой пользовательский файл.phtml в начало всех страниц.

Как я могу сделать это с помощью пользовательского модуля?

Мы будем признательны за любое предложение.

Спасибо

Author: Kishan Patadia, 2017-12-14

4 answers

Добавьте этот код в свою пользовательскую тему или модуль в default.xml:

app/design/frontend/Namespace/Themename/Magento_Theme/layout/default.xml

<referenceContainer name="after.body.start">
    <block class="Magento\Framework\View\Element\Template" 
           name="custom.file" 
           before="-" 
           template="Magento_Theme::html/custom.phtml"
    />
</referenceContainer>

Вы также можете разместить его в своем модуле:

app/code/Vendor/Module/view/frontend/layout/default.xml

<referenceContainer name="after.body.start">
    <block class="Vendor\Module\Block\Blockname" 
           before="-" 
           template="Vendor_Module::html/custom.phtml"
    />
</referenceContainer>

В этом случае шаблон должен быть сохранен в разделе приложение/код/Поставщик/Модуль/представление/интерфейс/шаблоны/html/пользовательский.phtml

 14
Author: D Singh, 2019-11-09 06:04:01

Попробуйте выполнить следующие шаги

Шаг:1 Создайте default.xml в местоположении app\code\<Vendor-Name>\<Module-Name>\view\frontend\layout и добавьте ниже код

<referenceContainer name="page.top">
    <block class="Magento\Framework\View\Element\Template" name="custom-block-name" template="<Vendor-Name>_<Module-Name>::page\custom.phtml"/>
</referenceContainer>

ИЛИ

 <referenceContainer name="main.content">
    <block class="Magento\Framework\View\Element\Template" name="custom-block-name" template="<Vendor-Name>_<Module-Name>::page\custom.phtml"/>
</referenceContainer>

Шаг:2 Создайте custom.phtml в местоположении app\code\<Vendor-Name>\<Module-Name>\view\frontend\templates\page\ и добавьте свой код

Например,

<?php 
     echo "Custom Block";
?>

Шаг:3 После выполнения команды компиляции

php bin/magento setup:di:compile
 7
Author: Abdul, 2017-12-14 09:36:16

Добавьте пользовательский файл шаблона с помощью xml-блока в app/design/frontend/<VendorName>/<ThemeName>/Magneto_Theme/layout/default.xml

Используя тег referenceBlock, вы можете добавить свой пользовательский блок в блок заголовка/контейнер

<referenceContainer name="after.body.start">
        <block class="Magento\Framework\View\Element\Template" name="custom.content" before="page-header" template="Magento_Theme::custom.phtml" />
</referenceContainer>
 3
Author: Ronak Chauhan, 2017-12-14 09:20:57

Вы можете использовать page.wrapper для отображения тега перед заголовком.

<referenceContainer name="page.wrapper">
      <block class="Magento\Framework\View\Element\Template" name="custompage" before="-" template="{Namespace}_{Modulename}::custompage.phtml" />
 </referenceContainer>
 1
Author: Rakesh Jesadiya, 2017-12-14 09:25:41