Magento主题模板调用CMS Static Block 静态块

by Web全栈工程师 on 2011 年 12 月 02 日

在Magento网站里,我们可以把经常要更改的东西,可以直接加入到CMS Static Block里,再在模板里调用CMS Static Block,这样方便日常维护,在Magento模板里调用静态块的方法其实非常简单。

1,在phtml模板里调用Block

打开要加入的.phtml模板文件,加入以下代码:

echo $this->getLayout()->createBlock('cms/block')->setBlockId('footer_links')->toHtml();

setBlockId()里的参数,就是我们在Magento后台里定义的Identifier标识符。

 2,只在首页中调用Block

修改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 为静态块的Identifier标识符)

3,在对应的xml加入Block

<block type=”cms/block” name=”blockname” as=”blockname” before=”-”>
<action method=”setBlockId”><id>block_id</id></action>
</block>

修改其中的 name  as 以及id

4,使用 getChildHtml() 方法调用Block

首先要在page.xml文件中定义一个childhtml名称,具体可以参考before_body_end那段代码

<block type=”core/text_list” name=”before_body_end” as=”before_body_end”/>

安装这个方法,我们可以修改成如下:

<block type=”core/text_list” name=”blockname” as=”blockname”/>

然后将调用的代码添加到对应的XML布局文件的正确位置
比如要插入到catalog.xml 中的<default>块中,这样就可以在任意页面调用

<reference name=”demo”>
	<block type=”cms/block” name=”blockname” before=”-”>
		<action method=”setBlockId”><id>blockname</id></action>
	</block>
</reference>

在phtml模板里只要添加static block名称blockname

<?php echo $this->getChildHtml(‘blockname’) ?>

 

{ 3 comments }

More 二月 18, 2014 17:56

magento博客 期待友情

Magento程序员 二月 19, 2014 17:05

友情链接已加

magento 二月 21, 2012 10:15

好东西,收藏了~~感谢分享!

Comments on this entry are closed.

{ 1 trackback }

Previous post:

Next post: