我正在创建一个magento 2主题。我只想知道如何在 xml layout, static block, cms page
或其他 .phtml
文件中添加.phtml文件。谢谢。
答案 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)
一般惯例是
<VendorName_ModuleName>::relative/path/to/phtml/in/templates/
<强>示例:强>
答案 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();?>