Скорее всего вы забыли разделить категорию идентификаторов в первой строке. Попробуйте это:
<?php $currentID = explode(',', Mage::getSingleton('cms/page')->getContentHeading()); ?>
<?php foreach($currentID as categoryid): ?>
<?php
$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');
foreach ($collection as $_product) { ?>
<li>
</li>
<?php } ?>
<?php endforeach;?>
Но, в любом случае это действительно плохой стиль кодирования, вам нужно переместить такой код для отдельного блока и использовать некоторый кэш, чтобы предотвратить бесполезную перегрузку. Я не рекомендую использовать его на производстве.
Некоторые рекомендации,
- Заменить новый с Mage :: getModel
- Если вы используете коллекцию категории (несколько категорий) это сделать смысл использовать Mage :: getModel ('Каталог/category ') -> getCollection() и фильтровать его с помощью фильтра' in '(см. пример ниже)
- Попытайтесь избежать использования addAttributeToSelect (' * '), это довольно дорогостоящая операция (по смыслу использования ресурсов)
Это немного лучше
<?php
$ids = explode(',', Mage::getSingleton('cms/page')->getContentHeading());
$categories = Mage::getModel('catalog/category')->getCollection()
->addAttributeToFilter('entity_id', array('in' => $ids));
foreach($categories as $category) {
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('needed_attribute_code');
foreach ($collection as $_product) {
?>
<li>
</li>
<?php } } ?>
Но все выглядит некрасиво, потому что это в шаблоне. Такой код должен быть в блочном классе.
спасибо! вы дали мне идею: я закончил использовать эту строку: $ productIds = array (explode (',', $ currentID); $ attributes = Mage :: getSingleton ('catalog/config') -> getProductAttributes(); $ коллекция = Mage :: getModel ('каталог/продукт') -> getCollection() -> addAttributeToFilter ('ENTITY_ID', массив ('в' => $ productIds)) -> addAttributeToSelect ($ атрибуты); –
Приятно знать, что это полезно для вас. Удачи – Sergey