【发布时间】:2013-06-02 20:09:23
【问题描述】:
我在使用“addAttributeToFilter”过滤具有客户属性的产品集合时遇到问题。我有一个带有“是”和“否”选项的下拉菜单属性,我只想显示属性设置为“是”的产品列表。我目前正在使用:
public function getReleasesCollection()
{
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('preorder', array ('eq' => 1))
->addAttributeToSelect('name')
->addAttributeToSelect('releasedate');
但是,这不会退回任何产品。
我也尝试过使用:
->addAttributeToFilter('manufacturer', 1);
->addAttributeToFilter('manufacturer', '1');
->addAttributeToFilter('manufacturer', 'Yes);
->addAttributeToFilter('manufacturer', array('eq' => '1'));
->addAttributeToFilter('manufacturer', array('eq' => 'Yes'));
我可以按名称、sku、描述等任何其他属性进行过滤,但我无法使用我的自定义属性进行过滤。
有什么建议吗?
【问题讨论】:
-
我想出了一个解决方案,但我不能 100% 确定这是最好的方法。
-
如果它确实有效,那可能值得一提。
-
我已将我的代码上传到 github,以防有人发现它有用。 gist.github.com/anonymous/5724967
-
如有疑问,我总是推荐 ->addFieldToFilter()。参考:magentocommerce.com/boards/viewthread/262983
标签: php magento magento-1.7