magento2模板介绍-template基本概念
《Magento2.X企业级开发实战》
magento2模板介绍-template基本概念
如何启动模板
模板在布局文件中启动,每个布局块都有一个关联的模板。
模板在 布局指令的模板属性中指定。
以 app/code/Magento/Catalog/view/frontend/layout/catalog_category_view.xml 中的这个例子为例:
<block class="Magento\Catalog\Block\Category\View" name="category.image" template="Magento_Catalog::category/image.phtml">
category.image 块由 Magento_Catalog 模块模板目录的 category 子目录中的 image.phtml 模板呈现。
Magento_Catalog 的模板目录是 app/code/Magento/Catalog/view/frontend/templates。
还可以使用 $_template 受保护变量在 PHP Block 类中指定模板。
这是来自 app/code/Magento/Review/view/frontend/layout/review_product_view.xml 布局的示例:
<block class="Magento\Review\Block\View" name="review_view" ifconfig="catalog/review/active"/>
未使用 布局指令的模板属性指定 review_view 块的模板。 相反,它在 app/code/Magento/Review/Block/View.php 块类中指定。
protected $_template = 'Magento_Review::view.phtml';
模板位置
模板存储在以下位置:
模块模板:/view/frontend/templates/
主题模板:/_/templates/
表示零个或多个目录级别。
例子:
app/code/Magento/Catalog/view/frontend/templates/product/widget/new/content/new_grid.phtml
应用程序/代码/Magento/Checkout/view/frontend/templates/cart.phtml
模板覆盖
对于具有相同名称的模板文件,以下覆盖规则适用:
主题模板覆盖模块模板
子主题模板覆盖父主题模板
要更改现有模板定义的输出,请覆盖自定义主题中的模板。这个概念是 Magento 中模板定制的基础。
见主题继承
根模板
/view/base/templates/root.phtml 是 Magento 应用程序中所有店面页面的根模板。可以像任何其他模板文件一样在主题中覆盖此文件。
与其他模板不同,root.phtml 包含 doctype 规范,并有助于 Magento 应用程序呈现的所有页面的 和 部分。
从布局中获取参数值
使用块的 get{ArgumentName}() 和 has{ArgumentName}() 方法在模板中访问布局文件中设置的参数值。
例如,在块中设置一个参数:ExampleCorp。
在模板中获取参数值:
$block->getData(‘store_name’)
$block->getStoreName()
检查参数是否存在:
$block->hasData(‘store_name’)
$block->hasStoreName()
有关更多信息,请参阅块参数。
在模板 PHTML 文件中使用 PHP 短标签
PHP 中的 echo 命令可以使用 Magento 模板中的短标签来编写。
例如:
<?= $block->getAdjustmentsHtml() ?>
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。