【发布时间】:2016-06-06 15:22:15
【问题描述】:
无论如何我都不擅长 Magento,所以我不是在寻找完美的答案,但我们将不胜感激。
在我的 Magento 网站中。 在目录 -> 管理类别下。
您可以拖放类别和子类别以重新组织它们。
但是这不会改变前端的顺序。
我之前添加了一个排序逻辑:
/app/code/core/Mage/Catalog/Block/Navigation.php
这是在函数 renderCategoryMenuItemHtml 中添加的
按字母顺序对类别进行排序很有效:
$_tmp_children = array();
foreach ($activeChildren as $child) {
if ($child->getIsActive()) {
$_tmp_children[$child->getName()] = $child;
}
}
ksort($_tmp_children,SORT_STRING);
我原以为只是恢复到原始状态会按管理区域中的位置排序,但事实并非如此。
有谁知道我可以访问的属性或我可以调用的方法,而不是获取“位置”属性的 getName() 吗?
我试过只做 $child->position 和它的变体。
【问题讨论】:
-
问题实际上出在我添加的与网站缓存配对的代码中,一旦我删除代码并清除缓存,问题就会自行解决。另一个问题是导航有很多覆盖,因为它有一个自定义模板,所以我必须找到要编辑的正确文件。
标签: php sorting magento navigation