magento2指定一个模板的规则

7天成为Magento系统架构师,现在开始学习Magento全栈开发!

《Magento2.X企业级开发实战》

本文内容描述默认的模板在magento中是怎样工作的。

模板是怎么指定的?
模板是由layout文件指定的,每个layout文件关联到一个对应的模板。
在layout文件中,模板文件由 template属性指定:
如下文件示例:
vendor/magento/module-catalog/view/frontend/layout/catalog_category_view.xml

<block class="Magento\Catalog\Block\Category\View" name="category.image" template="Magento_Catalog::category/image.phtml">
该layout的内容可以理解为,名字为”category.image”的block,他的内容由 Magento_Catalog这个模块的子目录categoy下面的image.html模板来渲染。

Magento_Catalog对应的目录为:
vendor\magento\module-catalog\view\frontend\templates

模板路径也可以通过Blcok类使用$_template属性指定:
如:

vendor\magento\module-review\Block\View.php
protected $_template = 'Magento_Review::view.phtml';

模板位置:

Module模块下的模板:
通常路径为:<module_dir>/view/frontend/templates/<path_to_templates>
2.Theme主题下的模板:
通常路径为:<theme_dir>/<Namespace>_<Module>/templates/<path_to_templates>

模板从layout文件中获取参数:
假设我们在layout文件中定义了如下参数:

<argument name="store_name" xsi:type="string">ExampleCorp</argument>
在模板中我们有两种获取该参数的写法:

$block->getData('store_name')
$block->getStoreName()

同样,在模板中有两种写法用来判断是否设置了该参数:

$block->hasData('store_name')
$block->hasStoreName()
如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。