Используя систему Magento Ecommerce, можно удалить элемент из меню навигации панели администратора? В более общем плане, есть ли способ использовать систему переопределения config для удаления существующих элементов из конфигурации?
Я знаю, что могу добавить в навигацию переопределение, которое выглядит примерно так:
<?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?
Более чистый способ сделать это:
Добавьте adminhtml.xml (например, к существующим модулям, которые хранят все другие материалы настройки или создают новый модуль)
<?xml version="1.0" ?> <config> <menu> <xmlconnect> <disabled>1</disabled> </xmlconnect> </menu> </config>
Вы можете ввести зависимость фиктивного модуля в пункт меню в файле config.xml.
В твоем случае,
<adminhtml> <menu> <cms translate="title" module="cms"> <depends><module>HideMe</module></depends> </cms> </menu> </adminhtml>
Я не думаю, что Алану все равно понадобится кто-нибудь, чтобы задать этот вопрос, но для кого-то еще, кто мог бы это прочитать, было бы лучше использовать:
<adminhtml> <menu> <cms translate="title" module="cms"> <depends><config>some/configuration/flag</config></depends> </cms> </menu> </adminhtml>
Для конкретной точки меню вы можете использовать:
<?xml version="1.0"?> <config> <menu> <customer> <children> <online> <disabled>1</disabled> </online> </children> </customer> </menu> </config>