如何在magento中按类别自定义属性排序顶级菜单?

时间:2013-01-22 13:40:04

标签: magento navigation

我创建了15个类别。在左侧导航中,我需要默认顺序的类别。

但在顶部菜单中,我需要按特定的排序顺序显示类别。为此,我创建了属性并遵循此link

所以从上面的链接,排序是通过名称完成的,但我需要按存储在自定义属性中的int值排序

所以请帮助任何人!!

1 个答案:

答案 0 :(得分:0)

你可以使用你提到的一个小改动函数:而不是getName()使用getYourAttribute()。

然而,那不是全部。菜单树的节点尚未在其内部数据存储中具有您的属性。要在那里添加它,您必须创建一个覆盖目录观察者模型的类,特别是函数Mage_Catalog_Model_Observer :: _ addCategoriesToMenu。此函数负责使用类别节点填充顶部菜单。

确保被覆盖的函数在此过程中添加了您的属性:

$categoryData = array(
     'name' => $category->getName(),
     'id' => $nodeId,
     'url' => Mage::helper('catalog/category')->getCategoryUrl($category),
     'is_active' => $this->_isActiveMenuCategory($category),
     'your_attribute' => $category->getYourAttribute()
);

我对使用自定义代码修改 lib 文件感到不安,正如教程所示,但如果这是你的最后手段......