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

How to set store id to cms block output

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

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

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('pdf_page_of')->setStoreId($storeId)->toHtml()

请使用下面不同的$storeId

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

您可以试试下面的代码:

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

试试这个

/* 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.*/

在这种情况下

$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

returns 0.