0
我想通過一些屬性過濾產品集合,包括diy_kit_price屬性(已添加的新屬性),如下所示。按多個價格範圍篩選產品集合
價格範圍:
- 0 - 5000
- 10000 - 15000
我嘗試了幾種方法,但沒有運氣。
工作守則:當我通過一個價格範圍過濾:
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('type_id', 'configurable')
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToFilter('category_id', array(
array('finset' => '37')
))
->addAttributeToSort('name', 'asc')
->addAttributeToFilter('diy_kit_price', array('gt' => 0))
->addAttributeToFilter('diy_kit_price', array('lt' => 5000));
不工作代碼:當我通過一個價格範圍過濾:
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('type_id', 'configurable')
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToFilter('category_id', array(
array('finset' => '37')
))
->addAttributeToSort('name', 'asc')
->addAttributeToFilter('diy_kit_price', array('gt' => 0))
->addAttributeToFilter('diy_kit_price', array('lt' => 5000))
->addAttributeToFilter('diy_kit_price', array('gt' => 10000))
->addAttributeToFilter('diy_kit_price', array('lt' => 15000));
是否有任何其他的方式來過濾。我們可以使用具有多個價格範圍的純SQL進行過濾。
在此先感謝。
在第二種情況下,實際上你的過濾器是從0到15000 5000和10000來說變得一無是處。你應該使用'(> 0 AND < 5k) OR (> 10k AND <15k)'。不確定是否可以在不轉換爲Zend查詢的情況下完成。 – enenen
如何使用您提到的代碼。你能舉個例子嗎? – Sivakumar