Php Magento将自定义链接添加到导航菜单
我需要知道在magento导航菜单中添加菜单的最简单方法。 是否有一个免费的扩展,可以提供向导航菜单添加自定义链接的功能,而无需从Magento进行任何重写Php Magento将自定义链接添加到导航菜单,php,html,magento,e-commerce,shopping-cart,Php,Html,Magento,E Commerce,Shopping Cart,我需要知道在magento导航菜单中添加菜单的最简单方法。 是否有一个免费的扩展,可以提供向导航菜单添加自定义链接的功能,而无需从Magento进行任何重写 我已经做了一项研究,但没有成功。有人能帮我吗?你试过MegaMenu master吗?是一个免费的扩展,可以在GitHub上找到 如果您使用的是Magento ce 1.7+,您可以在使用之前使用事件page\u block\u html\u topmenu\u gethtml\u 在版本1.7+中,顶部菜单被视为一个容器,您可以在其中放置
我已经做了一项研究,但没有成功。有人能帮我吗?你试过MegaMenu master吗?是一个免费的扩展,可以在GitHub上找到 如果您使用的是Magento ce 1.7+,您可以在使用之前使用事件
page\u block\u html\u topmenu\u gethtml\u
在版本1.7+中,顶部菜单被视为一个容器,您可以在其中放置所需的任何链接。
这里有一个小例子。您的观察者可以如下所示:
class [Namespace]_[Module]_Model_Observer {
public function addItemsToTopmenuItems($observer) {
$menu = $observer->getMenu();
$tree = $menu->getTree();
$action = Mage::app()->getFrontController()->getAction()->getFullActionName();
$nodeId = 'some-node-id';
$data = array(
'name' => Mage::helper('[module]')->__('Title goes here'),
'id' => $nodeId,
'url' => Mage::getUrl('module/controller/action'),
'is_active' => ($action == 'module_controller_action')
);
$node = new Varien_Data_Tree_Node($data, 'id', $tree, $menu);
$menu->addChild($node);
return $this;
}
}
以及config.xml中的事件声明
<frontend>
<events>
<page_block_html_topmenu_gethtml_before>
<observers>
<[module]>
<class>[module]/observer</class>
<method>addItemsToTopmenuItems</method>
</[module]>
</observers>
</page_block_html_topmenu_gethtml_before>
</events>
</frontend>
[模块]/观察员
AddItemsTopMenuItems
这将在类别之后添加一个项目。在菜单的开头或中间添加项目
注:这当然是一个例子。您可以使您的模块支持通过配置面板或任何其他您可以使用的工具添加链接。这是一个很好的扩展,但遗憾的是,它们不提供magento管理员设置。因此,您需要编辑代码以添加新链接。无论如何谢谢你