有人可以给我一个关于Magento块,布局和模板以及它们如何相互关联的鹰眼视角吗?
我知道块是构成页面的基本构建块,它们是一种迷你控制器。
我也明白布局会以某种方式将这些块组合在一起。
但是模板以及它们与块和布局的关系仍然存在一些不确定性,反之亦然。
答案 0 :(得分:2)
什么是街区?
基本上你需要知道4件事:
有两种类型的块:自动渲染它们的块 孩子和那些没有的孩子。知道你正在使用哪种类型 帮助您进行调试。
Magento块本质上是包含视图模板逻辑的模型。请注意 - 这不是业务逻辑,但它是逻辑 与您要呈现的信息的显示有关。这是 根据定义表示逻辑。如果你熟悉Zend Framework的Zend_Layout可以在自定义之间进行比较 查看对象和布局助手。
分配给块对象的模板文件可以执行代码,就好像它是该对象的本地代码一样。也就是说,$ this直接对应于 块类。
布局动作是人们使用的东西。
两种类型的
一天结束时有两种类型的块 - 那些 自动渲染和不渲染。记笔记,因为这是 关于Magento认证考试!!
Auto-rendered blocks
在布局中定义时,任何类型为core / text_list的块都将 自动渲染所有孩子。虽然核心/文本会 自动渲染自己它真的只应该包含文本和 因此对于布局目的没有用(虽然有些聪明的东西 可以用它们实现。)
其他街区
需要手动渲染任何其他块类型。提供 阻止一个别名然后可以传递给getChildHtml,返回 然后你回应的内容。
布局和模板
顾名思义,布局文件在渲染首页时非常有用 Magento。布局文件是位于app>中的XML文件。设计
前端>你的界面>你的主题>布局。在这里,您可以看到任何给定模块都有许多布局文件。每个Magento 模块有自己的布局文件,就像客户模块一样 customer.xml布局文件,目录模块有catalog.xml布局文件 这些布局文件包含结构块和内容块。
阅读以下博客。它将清除你对磁电的概念。
http://alanstorm.com/category/magento
http://devdocs.magento.com/guides/m1x/magefordev/mage-for-dev-4.html
http://blog.philwinkle.com/the-most-misunderstood-concept-in-magento/
http://code.tutsplus.com/tutorials/custom-layouts-and-templates-with-magento--cms-21419
答案 1 :(得分:1)
块是页面的构建模块。他们可以被视为"砖"。现在每个块都在布局中。布局用于定义"形状"的页面。现在,模板用于定义特定块的行为。这意味着每个街区或砖块#34;将具有不同的特征取决于它所使用的模板。
也就是说,要构建一个magento页面,您需要先定义一个布局,以便了解该页面的形状。现在用块填充布局。现在每个块都集中在整个布局的特定部分。这意味着取决于"性质"块,每个小部分将表现不同。为了定义特定部分的独特性,块使用模板(模板实际上包含网页构建代码,即html + js + php)
我希望这会给你一个简短的想法。
尝试google这个。我相信有很多关于此的教程和博客。