Краткий обзор: я пытаюсь вернуть результаты из определенного набора статических блоков в файл phtml (который затем вызывается из страницы cms strong >) в Magento.
Примечание. Я искал по всему Google, и некоторые ответы мне ближе, чем другие, но ничего из того, что я пробовал, не работает на 100%?
Подробности:
У меня уже есть набор определенных статических блоков, которые начинаются с идентификатора testimonial-
. Например, каждый статический блок выглядит так: testimonial-1
, testimonial-2
, testimonial-3
и так далее. У меня всего 5 на моем сайте разработчиков (больше на действующем сайте, но здесь это не имеет значения).
У меня есть страница CMS с кодом, извлекающим name.phtml
файл (расположение моего файла phtml находится здесь: app / design / frontend / [package] / [template] / template / page / < / strong>):
{{block type="core/template" template="page/name.phtml" title="Others Say:" identifier="testimonial-"}}
Вот мой код для файла .phtml:
<?php
// add the collection with filters
$collection = Mage::getModel('cms/block')->getCollection()
->addFieldToFilter('identifier', array('like'=>'testimonial'.'%'))
->addFieldToFilter('is_active', 1);
// get the count
$blockCount = $collection->count();
echo 'Block Count: ' . $blockCount . '<br />'; // just for testing
$blockNum = 1;
foreach($collection as $key => $value){
$_blockId = $this->getIdentifier();
$block_ID = $_blockId . $blockNum;
echo "Key: " . $key . " - " . "Block ID: " . $block_ID . "<br />";
$blockNum++;
}
$_block = $this->getLayout()->createBlock('cms/block')->setBlockId($block_ID);
if ($_block) :
?>
<div class="block block-testimonial">
<div class="block-title">
<strong><?php echo $this->getTitle(); ?></strong>
</div>
<div class="block-content">
<?php echo $_block->toHtml(); ?>
</div>
The loop foreach($collection as $key => $value)
prints out this:
Key: 27 - Block ID: testimonial-1
Key: 28 - Block ID: testimonial-2
Key: 29 - Block ID: testimonial-3
Key: 30 - Block ID: testimonial-4
Key: 31 - Block ID: testimonial-5
И это хорошо.
Однако единственный блок, который отображается эхом, - это последний блок (testimonial-5
). Поскольку я пытаюсь перечислить все блоки отзывов, как я могу вывести на страницу каждый идентификатор блока?
Полегче со мной, я новичок в php.