我有一个需要过滤的产品系列。为此我已经覆盖了'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”的产品我还尝试了您提供的代码但我收到了空产品列表。
答案 0 :(得分:2)
试试这个:
parent::_getProductCollection()
->addAttributeToFilter('language', array('finset'=>'B,C,E'));
return $this->_productCollection;
finset
映射到MySQL的FIND_IN_SET。