I want a menu item in main menu which the hyperlink is # or javascript:void(0), instead of by default it will show the category products, any method i can do that?
asked Dec 28, 2015 at 3:57
hkguile
2,2416 gold badges47 silver badges89 bronze badges
-
can you share your magento version or add tag in magento ver?Abdul– Abdul2015年12月28日 06:14:40 +00:00Commented Dec 28, 2015 at 6:14
1 Answer 1
You need to do some customization using magento event/observer.
The page_block_html_topmenu_gethtml_before event lets us add new links in the menu, to # or javascript:void(0) or anything else.
Observer code
<?php
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('catalog')->__('Title goes here'),
'id' => $nodeId,
'url' => '#', // any URL for the href attribute
);
$node = new Varien_Data_Tree_Node($data, 'id', $tree, $menu);
$menu->addChild($node);
return $this;
}
}
config.xml code
<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>
See more details at Adding links to category menu
answered Jan 15, 2016 at 23:21
default