商品に属性を使用していますavailablepostalcodes
。これは複数選択です。製品ごとに 3 つのオプションがあります: 1234 2345 3456
カテゴリページへの投稿 (フォーム) の後$_POST['postalcode']
、これには 2345 が含まれています。しかし、これを行うと、何もフィルタリングされません:
$_productCollection=$this->getLoadedProductCollection();
$_productCollection->addAttributeToFilter("availablepostalcodes", array("finset"=>"5021"));
echo $_productCollection->load()->count();
エコーにはまだ 5 が表示されますが、1 つの製品にその郵便番号があるため、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')));
それはまだうまくいきません