Magento 1.7按多个类别过滤产品

Ric*_*ing 1 magento magento-1.7

我正在寻找一种方法来过滤当前类别和可选子类别在类别页面上返回的产品.到目前为止,我看到的每个解决方案都是"展示类别中的产品 - 一个OR类别-b".

我需要编辑哪个文件来通过作为查询参数传递的附加可选类别ID来过滤产品集合(例如?catfilter=32)?

And*_*rew 6

看这里:http://vibrantdrive.com/how-to-filter-magento-products-using-2-or-more-category-filters/

获得第4类和第5类产品

$_productCollection = Mage::getModel('catalog/product')
 ->getCollection()
 ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
 ->addAttributeToSelect('*')
 ->addAttributeToFilter('category_id', array(
     array('finset' => '4'),
     array('finset' => '5'))
 )
 ->addAttributeToSort('created_at', 'desc');
Run Code Online (Sandbox Code Playgroud)

获得第4类或第5类产品

$_productCollection = Mage::getModel('catalog/product')
 ->getCollection()
 ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
 ->addAttributeToSelect('*')
 ->addAttributeToFilter('category_id', array(
     array('finset' => array('4', '5')),
 )
 ->addAttributeToSort('created_at', 'desc');
Run Code Online (Sandbox Code Playgroud)

  • 我在/magento/lib/Varien/Data/Collection.php中得到了一个错误`Item(Mage_Catalog_Model_Product),其ID相同"30674"已经存在'.看起来代码正常工作,但如果相同的项目存在于两个类别都无法创建Collection.我们如何解决这个问题? (2认同)