2015-04-28 4 views
0

У меня есть меню, созданное на заказ, которое содержит продукты определенной категории (категория id = 3). В моем меню есть блок:Magento: Загрузка товаров определенной категории на страницу продукта

{{block type="catalog/product_list" name="product_list" mode="grid" template="catalog/product/category_list_1.phtml"}} 

я могу нормально видеть продукты на основном сайте и внутри категории, но на странице продукта getBlockTemplateProcessor() не возвращает никаких данных.

Код внутри файла так же, как для list.phtml, я просто сделал некоторые изменения HTML, расположенные в: \ каталог \ продукт \ list.phtml

Почему именно мой код не делает? Проблема в том, что файлы не могут быть размещены на сайте продукта? Почему все хорошо внутри сайта категории и на сайте продукта нет?

ответ

0

Я предлагаю вам использовать свой собственный блок, проходящий блок списка продукта, так что вы можете правильно установить коллекцию продукции, что-то вроде:

class YourNamespace_YourModule_Block_List extends Mage_Catalog_Block_Product_List 
{ 
    protected function _getProductCollection() 
    { 
     if (is_null($this->_productCollection)) { 
      $collection = Mage::getResourceModel('catalog/product_collection'); 
      Mage::getModel('catalog/layer')->prepareProductCollection($collection); 

      $prodIdArray = array(1,2,3,4,5); 

      $collection->addAttributeToFilter('entity_id', $prodIdArray); 
      $collection->addStoreFilter(); 
      $this->_productCollection = $collection; 
     } 
     return $this->_productCollection; 
    } 
} 

Вы можете фильтровать, чтобы добавить или удалить какие-либо продукты, которые вы хотите от листинг.

Смежные вопросы