按多个价格范围过滤产品系列

Siv*_*mar 0 magento

我想通过一些属性过滤产品集合,包括diy_kit_price属性(已添加新属性),如下所示.

价格范围:

  1. 0 - 5000
  2. 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));
Run Code Online (Sandbox Code Playgroud)

不工作代码:当我按一个价格范围过滤时:

$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));
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以过滤.我们可以使用具有多个价格范围的纯SQL进行过滤.

提前致谢.

Siv*_*mar 5

得到解决方案...... Hurreee ...... :-)

->addFieldToFilter('diy_kit_price', 
     array(array('from'=>'0','to'=>'5000'), 
     array('from'=>'15000','to'=>'20000'))
 )
Run Code Online (Sandbox Code Playgroud)