Magento - 如何区分页面?

时间:2011-06-19 03:55:13

标签: templates layout magento

我对Magento实现网页的方式感到困惑,我希望有人可以帮助我。

我已经想出了如何调整主题和模板等,但我想知道我是如何用它们实现内容的。

我对如何将内容放入页面的理解存在脱节。这是用布局和模板文件完成的,还是在cms页面上完成的?

我一直在寻找教程等等,而我找不到它们(也许我使用了错误的术语),所以如果你知道可能有帮助的例子或任何事情,我会非常感激

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

Magento设计/模板是一个广泛的问题,一开始可能看起来很棘手,但一旦你了解它就会如此合乎逻辑和强大。
简而言之,.xml布局文件负责定义内容,而phtml(与其Block类相关)实际上呈现了html。每次加载页面时,都会解析所有布局文件以检索必须出现在此特定页面中的所有块。

每个页面中加载的内容由布局文件中的句柄定义,这些句柄对应于模块/控制器/操作。例如,客户的帐户索引页面的内容(这是帐户操作的结果,帐户控制器的内容> Customer 模块,参见句柄名称的逻辑)定义如下:

  • 在app / design / PACKAGE / TEMPLATE / layout / customer.xml的<customer_account_index>句柄中定义的块/布局
  • 在所有其他布局文件的<customer_account_index>句柄中定义的块/布局(我并不是说所有布局文件都有<customer_account_index>句柄,而是那些拥有它的人,比如poll.xml ,将插入其内容)
  • 在所有其他布局文件的<default>句柄中定义的块/布局,这就是为什么它被称为“默认”:)

当你说:

  

这是在cms页面上完成的吗?

我假设您正在引用管理员中的cms:这只会处理商店静态页面的内容块。页面的其余部分仍由xml定义(cms页面布局的page.xml句柄(1列,2列左侧等)... <default><cms_index_index>等句柄等等...)但即便如此,您也可以通过将内容放入适当的textareas来修改布局。

以下是一些了解Magento布局魔力的有趣链接:

HTH