我想按照每个过滤器中的#项对每个分层导航过滤器进行排序。
以下是现在显示的内容 -
我想要展示的内容 -
我一直在查看catalog / layer / filter.phtml,但我无法弄清楚如何对magento集合进行排序。
理想情况下,我想要这样的事情:
$ this-> getItems() - > order('Count Desc')
我该如何做到这一点?
答案 0 :(得分:5)
找到了这样做的方法 -
修改Mage/Catalog/Model/Layer/Filter/Abstract.php
以使用getItems
方法中的count重新排序。
public function getItems()
{
if (is_null($this->_items)) {
$this->_initItems();
}
//5-16-11 Custom sort
$items = $this->_items;
usort($items, array("Mage_Catalog_Model_Layer_Filter_Abstract", "sortByCount"));
return $items;
}
public static function sortByCount($a, $b)
{
if ($a->getCount() == $b->getCount()) {
return 0;
}
return ($a->getCount() > $b->getCount()) ? -1 : 1;
}
答案 1 :(得分:3)
一个好的起点是Mage / Catalog / Model / Layer / Filter / Attribute.php。列表是在那里建立的..