首页 > 代码库 > Magento中,调用静态块的几种方法[magento 二次开发]
Magento中,调用静态块的几种方法[magento 二次开发]
在后台创建一个order_form静态块
Block Title :Order Form
Identifier :order_form
Status :Enabled
Content :自定义内容
1.如果要在.phtml文件中直接调用这个静态块,那可以采用以下方法
[php] view plaincopy
- <?php
- $block = Mage::getModel(‘cms/block‘)
- ->setStoreId(Mage::app()->getStore()->getId())
- ->load(‘order_form‘);
- $content = $block->getContent(); // Block的原始内容已经获得
- $processor = Mage::getModel(‘core/email_template_filter‘);
- echo $html = $processor->filter($content);
- ?>
Mage::getModel(‘core/email_template_filter‘)->filter()是必须的,因为Static Block里可能包含Magento的模板语言(如:{{store url=""}}),fiter将翻译成实际的值
Magento中调用静态Block主要有两个地方。
是否感觉这代码太长了呢,那你还可以这么写
[php] view plaincopy
- <?php echo $this->getLayout()->createBlock(‘cms/block’)->setBlockId(‘order_form‘)->toHtml() ?>
2.如何在CMS页面的Content中调用这个静态块呢?你可以采用以下方法
[php] view plaincopy
- {{block type="cms/block" name="cms_test_block" block_id="order_form" }}
将里面order_form改成你的静态块对应的block_id则可
3.怎么样在layout中调用静态块呢?
[xhtml] view plaincopy
- <reference name="footer">
- <block type="cms/block" name="order_form" before="-">
- <action method="setBlockId"><block_id>order_form</block_id></action>
- </block>
- </reference>
到此,你应该能够灵活的运用magento中的静态块了吧!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。