$id = 'unique_id_block';
$cmsBlockModel = Mage::getResourceModel('cms/block');
$block = Mage::getModel('cms/block');
$cmsBlockModel->load($block, $id);
我有上面的代码返回一个名为unique_id_block的id的块对象。
这怎么可能返回一个块数组,因为我可能有多个具有相同ID但存储视图不同的块。
答案 0 :(得分:1)
您可以使用集合获取具有相同标识符的所有块...
$id = 'unique_id_block';
$blockCollection = Mage::getModel('cms/block')->getCollection()
->addFieldToFilter('identifier', $id);
然后,您可以像处理数组一样遍历此集合:
foreach ($blockCollection as $block) {
//...
}
由于您的问题要求将这些作为数组,您还可以将集合转换为数组并抓取其项目,如下所示:
$id = 'unique_id_block';
$blockCollection = Mage::getModel('cms/block')->getCollection()
->addFieldToFilter('identifier', $id)
->toArray();
$blocks = $blockCollection['items'];
但除非有充分的理由,否则我会坚持使用第一个例子。