Фильтр категории Magento 1.4.1 - PullRequest
0 голосов
/ 23 ноября 2010

Я должен показать список товаров, добавленных в определенную категорию по запросу ajax.Поэтому, когда я попытался использовать метод фильтра категорий, он показывает фатальную ошибку.Использование magento 1.4.1

Неустранимая ошибка: необработанное исключение 'PDOException' с сообщением 'SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец' e.category_ids 'в' where clause '' в /var / www / html / wc2 / lib / Zend / Db / Statement / Pdo.php: 228 Трассировка стека:
# 0 /var/www/html/wc2/lib/Zend/Db/Statement/Pdo.php (228): PDOStatement-> execute (Array)
# 1 /var/www/html/wc2/lib/Zend/Db/Statement.php(300): Zend_Db_Statement_Pdo -> _ execute (Array)
# 2 /var / www / html / wc2 / lib / Zend / Db / Adapter / Abstract.php (468): Zend_Db_Statement-> execute (Array)> # 3 / var / www / html / wc2 / lib / Zend / Db / Adapter /Pdo / Abstract.php (238): Zend_Db_Adapter_Abstract-> query ('SELECT count (DI ...', Array)
# 4 / var / www / html / wc2 / lib / Varien / Db / Adapter / Pdo /Mysql.php (333): Zend_Db_Adapter_Pdo_Abstract-> query ('SELECT count (DI ...', Array)
# 5 /var/www/html/wc2/lib/Zend/Db/Adapter/Abstract.php (799): Varien_Db_Adapter_Pdo_Mysql-> запрос ('SELECT count (DI ...', Array)
# 6 /var/www/html/wc2/lib/Varien/Data/Collection/Db.php(210): Zend_Db_Adapter_Abstract-> fetchOne ('SELECT count (DI ...', Array)
# 7 / var / www / html / wc2 / lib / Varien / Data / Collec в / var / www / html /wc2 / lib / Zend / Db / Statement / Pdo.php в строке 234

Это код, который я добавил в ajax-файл

$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addPriceData()       
->addAttributeToSort('name', 'ASC')
->addAttributeToFilter('category_ids',array('finset'=>'604'))
->addCategoryFilter('category_id','604')
->setPageSize($limit)
->setPage($p, $limit)       
->addAttributeToSelect('*');



$_productCollection = Mage::getResourceModel('reports/product_collection')
   ->addAttributeToSelect('*')
   ->setPageSize($limit)
   ->setPage($p, $limit)    
   ->addAttributeToFilter('category_ids',array('finset'=>'66,67'));
foreach ($_productCollection as $_product):
    echo $_product->getId();
endforeach;

Ни один из них не работает.Оба они показывают ту же ошибку.Пожалуйста, кто-нибудь, помогите мне.Спасибо

1 Ответ

3 голосов
/ 06 декабря 2010
$category = Mage::getModel('catalog/category')->load(604);

$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addPriceData()       
->addAttributeToSort('name', 'ASC')
->addCategoryFilter($category)
->setPageSize($limit)
->setPage($p, $limit)       
->addAttributeToSelect('*');

Этот фильтр должен работать.

...