从Magento的管理面板导航中删除项目

时间:2009-04-07 01:12:10

标签: php xml magento navigation override

使用Magento电子商务系统,是否可以从管理面板导航菜单中删除项目?更一般地说,有没有办法使用配置覆盖系统从配置中删除现有元素?

我知道我可以使用类似于

的覆盖添加到导航中
<?xml version="1.0"?>
<config>
    <modules>
        <Company_Module>
            <version>
                0.1.0
            </version>
        </Company_Module>
    </modules>

    <adminhtml>
        <menu>
             <cms translate="title" module="cms">
                <title>The CMS</title>
                <sort_order>70</sort_order>
                <children>
                    <foo translate="title" module="cms">
                        <title>Foo Item</title>
                        <action>adminhtml/foo</action>
                    </foo>
                </children>
             </cms>
        </menu>    
    </adminhtml>
</config>

但是我怎么能完全抑制CMS导航项?

4 个答案:

答案 0 :(得分:14)

更清洁的方法:

添加 adminhtml.xml (例如,添加所有其他自定义内容的现有模块,或创建新模块)

<?xml version="1.0" ?>
<config>
    <menu>
        <xmlconnect>
            <disabled>1</disabled>
        </xmlconnect>
    </menu>
</config>

答案 1 :(得分:11)

您可以在config.xml中的菜单项中注入虚假模块依赖项。

在你的情况下,

<adminhtml>
  <menu>
    <cms translate="title" module="cms">
      <depends><module>HideMe</module></depends>
    </cms>
  </menu>
</adminhtml>

答案 2 :(得分:4)

我不认为艾伦仍然不需要任何人提出这个问题,但对于其他可能最终阅读此内容的人来说,使用起来会更好一些:

<adminhtml>
  <menu>
    <cms translate="title" module="cms">
      <depends><config>some/configuration/flag</config></depends>
    </cms>
  </menu>
</adminhtml>

答案 3 :(得分:2)

对于特定的菜单点,您可以使用:

<?xml version="1.0"?>
<config>
    <menu>
        <customer>
            <children>
                <online>
                    <disabled>1</disabled>
                </online>
            </children>
        </customer>
    </menu>
</config>