我想按每个过滤器中的 # 项对每个分层导航过滤器进行排序。
这是现在显示的内容——
- 书籍 - 1
- 光盘 - 2
- DVD - 20
我想展示的是——
- DVD - 20
- 光盘 - 2
- 书籍 - 1
我一直在看catalog/layer/filter.phtml,但我无法弄清楚如何对magento集合进行排序。
理想情况下,我想要这样的东西:
$this->getItems()->order('Count Desc')
我怎样才能做到这一点?
找到了这样做的方法-
修改Mage/Catalog/Model/Layer/Filter/Abstract.php
以在 getItems
方法中使用计数重新排序。
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;
}
一个
好的起点是法师/目录/模型/图层/过滤器/属性.php。列表是在那里建立的。.