如何将商店ID设置为cms块输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将商店ID设置为cms块输出相关的知识,希望对你有一定的参考价值。
我使用下面的代码来显示静态块内容,但每次只显示第一个存储块。我在管理端加载此cms块。我有两个具有相同标识符的块,但将其分配给不同的商店,所以我想明智地显示它。
这是我使用的代码,但它没有帮助。
Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('pdf_page_of')->setStoreId($storeId)->tohtml()
答案
试试这个
/* set required store */
Mage::app()->setCurrentStore($storeId);
$addresBlock = Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('pdfaddress')->toHtml();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
/* reset admin store after wind up our purpose.*/
另一答案
您可以尝试以下代码:
Mage::getModel('cms/block')
->setStoreId(Mage::app()>getStore()->getId())
->load('pdf_page_of')
;
另一答案
请使用以下不同的$ storeId
$block = Mage::getModel('cms/block')->setStoreId($storeId)->load('newest_product');
echo $block->getTitle();
echo $block->getContent();
另一答案
在这种情况下
$blockId = 'block_id';
$storeId = 5;
$block = Mage::getModel('cms/block')->setStoreId($storeId)->load($blockId);
请记住,如果您已在商店ID 0中使用$ blockId块,则无论$ storeId中的值是多少,都将为商店0加载$ block。发生这种情况是因为所有其他商店视图都存在商店ID 0。
我在假设
Mage_Core_Model_App::ADMIN_STORE_ID
返回0。
以上是关于如何将商店ID设置为cms块输出的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django Summernote 中显示编程片段的代码块?