获取具有相同id magento的块数组

时间:2012-07-26 09:53:32

标签: magento

$id = 'unique_id_block';
    $cmsBlockModel = Mage::getResourceModel('cms/block');
    $block = Mage::getModel('cms/block');

    $cmsBlockModel->load($block, $id);

我有上面的代码返回一个名为unique_id_block的id的块对象。

这怎么可能返回一个块数组,因为我可能有多个具有相同ID但存储视图不同的块。

1 个答案:

答案 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'];

但除非有充分的理由,否则我会坚持使用第一个例子。