Magento添加调用Block的几种方法

静态块主要是指在后台添加的可用静态块

调用方法常见的有如下几种:

1、直接在HomePage中调用(只限首页):
修改layout中的xml代码

<reference name="content">
    <block type="cms/block" name="blockname" before="-">
        <action method="setBlockId"><id >block_id</id ></action>
    </block >
</reference >
通过修改reference 中的name属性值调整主体位置,通过block中的before或after属性值调整相对顺序

CMS 页以及static block还可以通过如下方法调用:
{{block type=”cms/block”  name=”user-block”  block_id=”one-block”}}
(其中的name为自定义的,block_id 为静态块的 identi)

2、直接在模板的 .phtml 中调用

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block_id')->toHtml(); ?>
3、在对应的 .xml 中的目标位置调用

<block type="cms/block" name="blockname" as="blockname" before="-">
    <action method="setBlockId"><id>block_id</id></action>
</block>
<!– 修改其中的 name  as 以及id 确保正确调用,修改before参数确保位置正确 –>
4、使用 getChildHtml() 方法调用(类似方法3):
首先在page.xml文件中定义一个childhtml名称(这边用test代替)
可以参考before_body_end那段代码
<block type=”core/text_list” name=”before_body_end” as=”before_body_end”/>
定义自己需要的如:
<block type=”core/text_list” name=”test” as=”test”/>
然后将调用的代码添加到对应的XML布局文件的正确位置
例如这边我们插入到catalog.xml 中的<default>块中,这样就可以在任意页面调用,当然你也可以加到你想要的页面中。
<default><!–位于30行左右–>
    <reference name="test">
        <block type="cms/block" name="testname" before="-">
            <action method="setBlockId"><id>testblock</id></action>
        </block>
    </reference>
    ……
添加static block名称为testblock
内容自己定义,如:    <h1>This is a test Block!</h1>
到你想让这块内容出现的页面调用它
这边我们在1column.phtml中调用
<?php echo $this->getChildHtml(‘test’) ?>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值