> Magento2中文手册 > 模板的基本概念

模板的基本概念

这篇文章讲什么?

本主题介绍如何在Magento应用默认模板的主要概念。

模板是如何启动的

模板通常在布局文件中启动。 每个布局块都有相关模板。 The template is specified in the template attribute of the 模板是在template属性中指定的 布局指导。 例如,从<Magento_Catalog_module_dir>/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 块是由 image.pHTML 模板, 其中位于 category 的子目录Magento_Catalog 模块模板目录。

模板目录 Magento_Catalog<Magento_Catalog_module_dir>/view/frontend/templates.

下一节将描述模板一般位于何处。

传统的模板位置

模板存储在下列位置:

  • 模块模板: <module_dir>/view/frontend/templates/<path_to_templates>
  • 主题模板: <theme_dir>/<Namespace>_<Module>/templates/<path_to_templates>

在这里 <path_to_templates> 可能有多个目录嵌套级别,或者可能是空的。实例:

  • <Magento_Catalog_module_dir>/view/frontend/templates/product/widget/new/content/new_grid.phtml
  • <Magento_Checkout_module_dir>/view/frontend/templates/cart.phtml

模板重写

对于同名的模板文件,以下是正确的: 主题模板覆盖模块模板,以及子主题 重写父主题模板。

这个机制是在Magento应用模板定制概念的基础:改变一定的默认模板定义的输出,你需要重写一个自定义主题。

重写模板中描述了更多的细节 主题的继承文章.

根模板

在Magento有一种特殊的模板为应用程序中的所有页根店面模板:<Magento_Theme_module_dir>/view/base/templates/root.phtml.

不像其他模板, root.phtml 包含 doctype<head><body> 。但类似于其他模板, root.phtml 可以在主题中重写。

从布局获取参数值

在布局文件中设置的参数值可以在模板中使用get{ArgumentName}()has{ArgumentName}() 方法. 更多信息,查看 布局(Layout)说明