1

我尝试按名称对头部导航中的类别和子类别进行排序。我发现至少有 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 查询排序,可能有效,但在我的情况下它不是一个真正的选择

还有一些不值得注意的...

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

谢谢!

4

1 回答 1

0

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

于 2012-09-27T11:52:53.463 回答