如何将商店ID设置为cms块输出

问题描述 投票:1回答:4

我使用下面的代码来显示静态块内容,但每次只显示第一个存储块。我在管理端加载此cms块。我有两个具有相同标识符的块,但将其分配给不同的商店,所以我想明智地显示它。

这是我使用的代码,但它没有帮助。

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('pdf_page_of')->setStoreId($storeId)->toHtml()
magento magento-1.8
4个回答
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
投票

您可以尝试以下代码:

Mage::getModel('cms/block')
    ->setStoreId(Mage::app()>getStore()->getId())
    ->load('pdf_page_of')
;

0
投票

请使用以下不同的$ storeId

$block = Mage::getModel('cms/block')->setStoreId($storeId)->load('newest_product');
echo $block->getTitle();
echo $block->getContent();

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。

© www.soinside.com 2019 - 2024. All rights reserved.