Magento 1.5在头部导航中按名称排序类别

时间:2012-09-27 10:18:05

标签: magento

我尝试按名称在头部导航中排序类别和子类别。 我发现至少有3种不同的方法,但它们似乎都没有用。

  1. 将“->setOrder('name', Varien_Db_Select::SQL_ASC)”添加到Category.php
  2. 将“->setOrder('name', 'asc')”添加到Category.php
  3. 将“->addAttributeToSort('name', Varien_Db_Select::SQL_ASC)”添加到Category.php
  4. 将“->addAttributeToSort('name', 'asc')”添加到Category.php
  5. 使用SQL查询排序,可能有效,但在我的情况下它不是一个真正的选项
  6. 和其他一些不值得注意的人......

    对于分层导航,我想出了对数组进行排序,但在头部导航中不能这样做。 我很感激所有的提示......

    THX!

1 个答案:

答案 0 :(得分:0)

这是因为使用->load()加载了集合 - 之后您无法更改它。对它进行排序的最佳方法是通过拖放操作在管理员中对其进行排序,或者如果这不是一个选项,则必须挂钩目录集合事件_load_before in
app/code/core/Mage/Catalog/Model/Resource/Category/Flat/Collection.php
(如果你使用平面目录), 但这不是一种正确的方法,因为它会影响任何类别列表的显示并使您的管理员排序无法使用。花点时间在管理员中正确排序。