谁能给我一个鹰眼的角度,马根托区块,布局和模板,以及它们是如何相互关联的?
我知道积木是页面的基本构造块,它们是一种小型控制器。
我也明白,布局将这些街区以某种方式结合在一起。
但是,关于模板以及它们与块和布局的关系仍然存在一些不确定性,反之亦然。
发布于 2015-08-12 08:37:57
块是页面的构建模块。它们可以被视为“砖块”。现在每个街区都有一个布局。布局用于定义页面的“形状”。现在,模板用于定义特定块的行为。这意味着每个块或“砖块”将有不同的特性取决于它所使用的模板。
也就是说,要构建magento页面,您需要首先定义一个布局,这将使您了解该页面的形状。现在用块填充布局。每个区块现在集中在整个布局的一个特定部分。这意味着根据块的“性质”,每个小部分的行为会有所不同。要定义特定部分的独特性质,块使用模板(模板实际上保存网页构建代码,即html + js + php)。
我希望这能给你一个简短的想法。
试着用谷歌搜索。我相信有很多关于这方面的教程和博客。
发布于 2015-08-12 08:21:57
什么是块?
基本上有四件事你需要知道:
有两种类型的块:自动呈现子块的块和不呈现子块的块。知道使用哪种类型将有助于调试。 Magento块本质上是包含视图模板逻辑的模型。请注意-这不是业务逻辑,而是与您所呈现的信息的显示相关的逻辑。顾名思义,这是表象逻辑。如果您熟悉Zend_Layout的Zend_Layout,您可以在定制视图对象和布局帮助器之间进行比较。 分配给块对象的模板文件可以执行代码,就好像它是该对象的本地文件一样。也就是说,$this直接对应于块类。 布局操作是人们使用的东西。
两种类型的块
一天结束时有两种类型的块--自动渲染的块和不渲染的块。记笔记,因为这是在Magento认证考试!
Auto-rendered blocks当在布局中定义时,任何类型为core/text_list的块都将自动呈现其所有子块。虽然core/text会自动呈现自己,但它实际上只应该包含文本,因此对布局没有什么用处(尽管可以用它们实现一些聪明的事情)。
其他区块
任何其他块类型都需要手动呈现。为块提供一个别名,然后将其传递给getChildHtml,返回您随后回显的内容。
布局和模板
顾名思义,布局文件在呈现Magento的头版时非常有用。布局文件是驻留在app > design中的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
https://stackoverflow.com/questions/31959567
复制相似问题