Magento 2 - Как вызвать собственный файл phtml в другом файле phtml, макете xml, статическом блоке и странице cms?

Я создаю тему magento 2. Я просто хочу знать, как добавить файл .phtml в xml layout, static block, cms page или в другой файл .phtml. Спасибо.

Ответы

Ответ 1

Для улучшения документации/ответа

Пользовательский путь к файлу

app/design/frontend/{Package}/{theme}/Magento_Theme/templates/html/test.phtml

вызов xml layout файла

<block class="Magento\Framework\View\Element\Template" name="test_file" template="Magento_Theme::html/test.phtml"/>

Вызов blocks and cms pages

{{block class="Magento\Framework\View\Element\Template" name="test_file" template="Magento_Theme::html/test.phtml"}}

Вызов в любом файле phtml

<?php include ($block->getTemplateFile('Magento_Theme::html/test.phtml')) ?>

ИЛИ, как и раньше

<?php echo $this->getLayout()->createBlock("Magento\Framework\View\Element\Template")->setTemplate("Magento_Theme::html/test.phtml")->toHtml();?>

Ответ 3

Вызвать файл шаблона phtml из другого файла шаблона phtml:

<?php echo $this->getLayout()->createBlock("Magento\Framework\View\Element\Template")->setTemplate("Magento_Theme::test.phtml")->toHtml(); ?>

test.phtml будет находиться в приложении/дизайне/интерфейсе/поставщике/имени/шаблоне Magento_Theme/templates