gpt4 book ai didi

attributes - Magento:addAttributeToFilter 但忽略没有此属性的产品?

转载 作者:行者123 更新时间:2023-12-04 17:58:41 24 4
gpt4 key购买 nike

我正在尝试在我的商店中添加一些过滤器,但它们有一个令人讨厌的副作用。
假设我有产品类型 A 和 B。现在我只想显示颜色 = 蓝色/红色的 A。

$collection = Mage::getResourceModel('catalog/product_collection')
->setStoreId($this->getStoreId())
->addCategoryFilter($this)
->addAttributeToFilter(array(
array('attribute' => 'color', 'in' => array(4, 6)),
)
);
这可以解决问题,但现在因为产品类型 B 没有分配给颜色的值(因为未指定此属性)没有显示此类型的产品。
我在论坛 http://www.magentocommerce.com/boards/viewthread/178309 上找到了这个代码,但它不起作用:
array('attribute' => 'color', 'is' => new Zend_Db_Expr('null'))
也没有:
array('attribute' => 'color', 'null' => true),
这实际上显示了分配了属性但没有声明值的产品......
我也尝试添加:
array('attribute' => 'price', 'gteq' => 0), 
因为我认为这些语句与“OR”有关(根据文档),但即使这样也只添加了分配了属性的产品类型......
请注意,这些值来自下拉列表,但不确定这是否重要。

最佳答案

也许为时已晚,但这对我有用:

$collection = Mage::getResourceModel('catalog/product_collection')
->setStoreId($this->getStoreId())
->addCategoryFilter($this)
->addAttributeToFilter(
array(
array('attribute' => 'color', 'null' => true),
array('attribute' => 'color', 'in' => array(4, 6)),
),
'',
'left'
);

关于attributes - Magento:addAttributeToFilter 但忽略没有此属性的产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3403850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com