Magento中,調用靜態塊的幾種方法[magento 二次開發]

在後臺創建一個order_form靜態塊
Block Title :Order Form
Identifier :order_form
Status :Enabled
Content :自定義內容

1.如果要在.phtml文件中直接調用這個靜態塊,那可以採用以下方法

  1. <?php  
  2. $block = Mage::getModel('cms/block')  
  3.  ->setStoreId(Mage::app()->getStore()->getId())  
  4.  ->load('order_form');  
  5. $content = $block->getContent(); // Block的原始內容已經獲得  
  6.   
  7. $processor = Mage::getModel('core/email_template_filter');  
  8. echo $html = $processor->filter($content);  
  9. ?>  

Mage::getModel('core/email_template_filter')->filter()是必須的,因爲Static Block裏可能包含Magento的模板語言(如:{{store url=""}}),fiter將翻譯成實際的值
Magento中調用靜態Block主要有兩個地方。
是否感覺這代碼太長了呢,那你還可以這麼寫
  1. <?php echo $this->getLayout()->createBlock(‘cms/block’)->setBlockId('order_form')->toHtml() ?>   

2.如何在CMS頁面的Content中調用這個靜態塊呢?你可以採用以下方法

  1. {{block type="cms/block"  name="cms_test_block"  block_id="order_form" }}   

將裏面order_form改成你的靜態塊對應的block_id則可

3.怎麼樣在layout中調用靜態塊呢?

[xhtml] view plaincopy
  1.  <reference name="footer">  
  2.     <block type="cms/block" name="order_form" before="-">  
  3.         <action method="setBlockId"><block_id>order_form</block_id></action>  
  4.     </block>      
  5. </reference>   
 
 
到此,你應該能夠靈活的運用magento中的靜態塊了吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章