Magento - 分类产品系列

时间:2013-01-31 08:51:47

标签: magento sorting collections filter product

我有一个需要过滤的产品系列。为此我已经覆盖了'Mage_Catalog_Block_Product_List'并且具有以下代码:

$collection = parent::_getProductCollection();
$collection->addAttributeToFilter('language', array('in' => 
array('B','C','E')));
$collection->addAttributeToSort('language', 'DESC');

return $this->_productCollection; 

在前端,它以E,C,B的形式排序

如果我将属性设置为排序为'ASC',则排序的形式为B,C,E

但我需要指定E,B,C

的顺序

有什么办法可以做到吗?

感谢您的帮助。

更新

我试过fin_Set并查看了你发送的链接。我尝试了代码:

 $collection = parent::_getProductCollection();
 $collection->addAttributeToFilter('language', 
 array('finset'=>'E','C,E,B'));

return $this->_productCollection;

然而,这仅显示设置为“E”的产品我还尝试了您提供的代码但我收到了空产品列表。

1 个答案:

答案 0 :(得分:2)

试试这个:

parent::_getProductCollection()
        ->addAttributeToFilter('language', array('finset'=>'B,C,E'));

return $this->_productCollection;

finset映射到MySQL的FIND_IN_SET