Magento 2 - 如何在另一个phtml文件,xml布局,静态块和cms页面中调用自定义phtml文件?

时间:2015-12-15 11:44:13

标签: php magento magento2 magento-2.0

我正在创建一个magento 2主题。我只想知道如何在 xml layout, static block, cms page 或其他 .phtml 文件中添加.phtml文件。谢谢。

4 个答案:

答案 0 :(得分:53)

用于改进文档/答案

自定义文件路径

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')) ?>

OR,和以前一样

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

答案 1 :(得分:6)

答案 2 :(得分:0)

从另一个phtml模板文件中调用phtml模板文件:

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

test.phtml将位于app / design / frontend / Vendor / themename / Magento_Theme / templates

答案 3 :(得分:0)

您的自定义文件路径

app/code/{vendor_name}/{module_name}/view/frontend/templates/custom.phtml

将phtml文件调用到cms块和页面中:-

{{block class="Magento\Framework\View\Element\Template" template="Vendor_Module::custom.phtml"}}

OR

{{block class="Vendor\Module\Block\your_file_name" template="Vendor_Module::custom.phtml"}}

在xml布局文件中调用:-

<block class="Magento\Framework\View\Element\Template" template="Vendor_Module::custom.phtml">

调用另一个phtml文件:-

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