这个需求太现实了。magento是很灵活,好多的功能分割成一个个小块(block,其它的框架中也有类似概念,如seagull php框架,但是没magento灵活),比如购物篮,货币切换器,语言切换器,newsletter...不同的客户肯定会有不同的要求,这就需要对这些 block的位置做调整。
magento是通过theme下面的layout文件对这些block 定位的,所以我们需要做的是根据magento的layout语法来修改这些xml文件。
比如我们要将product compare block(产品比较)显示在左栏第一个,当然我的布局中包含了左栏。我只需要给prodct compare block添加一个 before='-' 参数即可,如下所示:
<
reference
name
=
"left"
>
<
block
type
=
"core/template"
before
=
"-"
name
=
"catalog.compare.sidebar"
template
=
"catalog/product/compare/sidebar.phtml"
/>
</
reference
>
简单解释下相关的参数:
before="-" 作为第一个block,当有多个block指定该参数值时,后出现的优先
after="-" 作为最后一个block
before="block_name" 显示在block_name
前
面
after="block_name"显示在block_name
后
面