我正在使用产品属性availablepostalcodes
。这是一个多选,每个产品有3个选项:
1234
2345
3456
现在在我$_POST['postalcode']
的类别页面上的帖子(表单)后,这包含2345.但是当我这样做时,没有任何内容会过滤:
$_productCollection=$this->getLoadedProductCollection();
$_productCollection->addAttributeToFilter("availablepostalcodes", array("finset"=>"5021"));
echo $_productCollection->load()->count();
回声仍显示5,但它应为1,因为一个产品具有可用的邮政编码。
这是产品列表视图/catalog/product/list.phtml
我想念或看不到什么?
修改
$_productCollection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('availablepostalcodes')
->addAttributeToFilter('entity_id', array('in' => $_productCollection->getAllIds()));
然后我再次获得所有产品。
但是当我做$_productCollection->addAttributeToFilter("availablepostalcodes", array("in" => array(5021')));
时它仍无法正常工作
答案 0 :(得分:1)
尝试而不是finset
$_productCollection->addAttributeToFilter("availablepostalcodes", array("in"=>"5021"));
答案 1 :(得分:1)
你有一个多选,所以你需要过滤多选项选项id而不是选项值!