Я создаю тему magento 2. Я просто хочу знать, как добавить файл .phtml в xml layout, static block, cms page
или в другой файл .phtml
. Спасибо.
Magento 2 - Как вызвать собственный файл phtml в другом файле phtml, макете xml, статическом блоке и странице cms?
Ответ 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();?>
Ответ 2
Общее соглашение
<VendorName_ModuleName>::relative/path/to/phtml/in/templates/
<сильные > Примеры:
Ответ 3
Вызвать файл шаблона phtml из другого файла шаблона phtml:
<?php echo $this->getLayout()->createBlock("Magento\Framework\View\Element\Template")->setTemplate("Magento_Theme::test.phtml")->toHtml(); ?>
test.phtml будет находиться в приложении/дизайне/интерфейсе/поставщике/имени/шаблоне Magento_Theme/templates