Magento添加导航菜单的自定义链接

时间:2014-02-04 08:58:55

标签: php html magento e-commerce shopping-cart

我需要知道在最简单的方法。 是否有免费扩展程序,可以提供向导航菜单添加自定义链接的功能,而无需从Magento重写任何内容

我已经做了一项研究但没有成功。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

你有没有尝试过MegaMenu大师?是一个免费的扩展,可以在GitHub上找到。

答案 1 :(得分:1)

如果您正在使用Magento ce 1.7+,您可以使用活动page_block_html_topmenu_gethtml_before 在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>

这将在类别后面添加一个项目 要在菜单check this

的开头或中间添加项目

注意:当然这是一个例子。您可以使模块支持通过配置面板或其他任何可以添加的链接添加链接。