Magento addAttributeToFilter

时间:2013-06-28 01:51:56

标签: php magento attributes

我正在使用产品属性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')));时它仍无法正常工作

2 个答案:

答案 0 :(得分:1)

尝试而不是finset

$_productCollection->addAttributeToFilter("availablepostalcodes", array("in"=>"5021"));

答案 1 :(得分:1)

你有一个多选,所以你需要过滤多选项选项id而不是选项值!