Загрузка Magento 1.4 по категориям не работает - PullRequest
1 голос
/ 20 апреля 2010

У меня есть вспомогательный класс Magento, который я написал, который прекрасно работает в 1.3. Однако мы работаем над новой установкой 1.4, и фильтрация по категориям по какой-то причине не сработает.

 function __construct()
 {
  Mage::app();
  $this->model = Mage::getModel('catalog/product');
  $this->collection = $this->model->getCollection();
  $this->collection->addAttributeToFilter('status', 1);//enabled
  $this->collection->addAttributeToSelect('*');
 }

 function filterByCategoryID($catID)
 {
  $this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID));
 }

Я не могу понять, почему это не работает в 1.4. Кто-нибудь еще сталкивался с этим вопросом?

Ответы [ 2 ]

1 голос
/ 23 апреля 2010

Мне удалось заставить его работать с кодом ниже ...

function __construct() { Mage::app(); }</p> <pre><code>function filterByCategoryID($catID) { //$this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID)); $this->collection = Mage::getModel('catalog/category')->load($catID); }

1 голос
/ 21 апреля 2010

Исходя из того, что вы опубликовали, я думаю, что в вашем коде есть что-то еще, что добавляет / удаляет фильтры в / из вашей коллекции. Я запустил следующий код при установке 1.4

$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('status', 1)
->addCategoryFilter(Mage::getModel('catalog/category')->load(8))
->addAttributeToSelect('*');

и коллекция продуктов была отфильтрована как ожидалось.

Расширение вашего вопроса, чтобы показать, как вы используете своего помощника и что вы ожидаете от него по сравнению с тем, что он делает.

...