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

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

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

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

4

1 回答 1

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

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

于 2012-07-26T10:30:09.957 回答