0

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

但是在顶部菜单中,我需要以特定的排序顺序显示类别。为此,我创建了属性并点击了此链接

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

所以请帮助任何人!

4

1 回答 1

0

您可以使用您提到的功能稍作改动:使用 getYourAttribute() 代替 getName()。

然而,这还不是全部。菜单树的节点在其内部数据存储中还没有您的属性。要将它添加到那里,您必须创建一个覆盖目录观察者模型的类,特别是函数 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文件感到不安,但如果这是你最后的手段......

于 2013-01-22T17:58:16.040 回答