我创建了15个类别。在左侧导航中,我需要默认顺序的类别。
但在顶部菜单中,我需要按特定的排序顺序显示类别。为此,我创建了属性并遵循此link。
所以从上面的链接,排序是通过名称完成的,但我需要按存储在自定义属性中的int值排序
所以请帮助任何人!!
答案 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 文件感到不安,正如教程所示,但如果这是你的最后手段......