2010-04-20 2 views
1

У меня есть вспомогательный класс Magento, который я написал, который отлично работает в 1.3. Однако мы работаем над новой установкой 1.4, а фильтрация по категориям не будет работать по какой-то причине.Magento 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. Кто-нибудь еще пришел в эту проблему?

ответ

1

Я был в состоянии заставить его работать на код ниже ...

function __construct() { Mage::app(); }

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

} 

1

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

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

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

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

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