对于我的模块,我需要创建一个使用各种 addAttributeToFilter 修饰符构建的自定义 productCollection。但是,我不知道如何将这样的集合放入默认的 magento 产品列表中。所以基本上我想创建一个预先过滤的产品列表,有人能给我一些关于如何开始这样的事情的建议吗?
编辑:澄清一下,我可以收集,只是不像默认产品列表那样显示它。
经过数小时的努力,我找到了解决方案:我覆盖了 Mage_Catalog_Block_Product_List 并制作了自己的 _getProductCollection:
$collection = parent::_getProductCollection();
$collection->addAttributeToFilter('attribute', array('operator' => 'value'));
/* more filters go here */
$this->_productCollection = $collection;
return $this->_productCollection;
这似乎是使原始产品列表正常工作且没有任何错误或类别问题的唯一方法。
感谢格拉!!
在 list.phtml 中使用它:
$_productCollection->clear()
->addAttributeToFilter('attribute_set_id', array('eq' => 63))
->load();
你可以试试 :
Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter();
http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/using_collections_in_magento