Magento 布局(XML)原理解析

<block>
Magento 通过 <block> 标记决定页面中的每个区块的行为和视觉表现。在 Magento 中我们已经提到了两种类型的区块 – 结构区块(structural blocks)和内容区块(content blocks)。区分这两种区块最好的方式是通过分配给它的标记属性来区分。结构区块通常包含属性 ‘as’ ,通过这个属性值程序可以与指定的区域(由 getChildHtml 方法指定)中的模板联系。你会发现在默认布局许多地方出现这个 ‘as’ 属性,因为默认布局的一个性质就是建立一个实际的布局,在各个不同的页面中的具体布局上就可以开始增加。例如,在默认布局中,有像 ‘left’ 、 ‘right’ 、 ‘content’ 和 ‘footer’ 这些结构区块。并不是说这些区块不能存在于正常的布局更新中,但我们为什么不首先在默认布局中建立这些结构区块,然后在后面每个具体的页面基础上添加内容 呢?让我们进一步挖掘 <block> 的现有属性。

  1. type – 这是模块类的标识符,它定义了区块的功能。此属性不应该被修改。
  2. name – 这是名称,其他的区块可以通过此名称引用此区块(看图1)。
  3. before (and) after – 这两种方法决定内容区块在结构区块中的位置。 before=”-”after=”-” 这样的命令标志此区块的位置是一个结构区块的最上方或最下方。
  4. template – 这个属性指定的值决定了此区块的功能是使用哪个模板。例如,如果这个属性值指定了 ‘catalog/category/view.phtml’ ,程序就会载入 ‘app/design/frontend/template/catalog/category/view.phtml’ 模板文件。
  5. action<action> 是用来控制前台的功能的,如加载或不加载一个 JavaScript 。一套完整的 action 方式将很快推出,但此时的最佳的学习途径是了解现有的布局更新上面的不同 action 方法。
  6. as – 此属性指定模板文件中会调用那个区块。 当您在模板中看到 getChildHtml(‘ block_name ‘) 的 PHP 方法,可以肯定它指的是引用属性 ‘as’ 的值为 ‘block_name’ 的区块。 (例如:在骨架模板中的方法 <?=$this->getChildHtml(‘header’)?> 是调用 <block as="header"> )

<reference>
<reference> 是用来引用另一个区块。要引用灵位一个区块,在内部的更新将应用于与其关联的 <block> (见图1)。
要使用引用,可以通过区块中的 ‘name’ 属性值引用。此属性的指向标签中 ‘name’ 属性。所以,如果你使用 <reference name="right"> ,响应的区块名称将是 <block name="right">

图1:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值