我使用下面的代码来显示静态块内容,但每次只显示第一个存储块。我在管理端加载此cms块。 我有两个具有相同标识符的块,但是将它分配给不同的商店,所以我希望以明智的方式显示它。
这是我使用的代码,但它没有帮助。
Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('pdf_page_of')->setStoreId($storeId)->toHtml()
答案 0 :(得分:2)
您可以尝试以下代码:
Mage::getModel('cms/block')
->setStoreId(Mage::app()>getStore()->getId())
->load('pdf_page_of')
;
答案 1 :(得分:1)
试试这个
/* 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.*/
答案 2 :(得分:0)
请使用以下不同的$ storeId
$block = Mage::getModel('cms/block')->setStoreId($storeId)->load('newest_product');
echo $block->getTitle();
echo $block->getContent();
答案 3 :(得分:0)
在这种情况下
$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.