magento2二次开发教程,请查看电子书:
点此查看 ==》Magento2.x企业级开发实战
本文转载自:Magento中文网
本文内容描述默认的模板在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()
网友评论