2009-04-07 8 views
14

Mit dem Magento Ecommerce-System ist es möglich, ein Element aus dem Admin Panel Navigationsmenü zu entfernen? Allgemeiner, gibt es eine Möglichkeit, das Config-Override-System zu entfernen vorhandenen Elemente aus einer Konfiguration zu verwenden?Entfernen eines Elements aus dem Admin-Panel von Magento Navigation

Ich weiß, dass ich mit einer Überschreibung der Navigation hinzufügen kann, die so etwas wie diese

<?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> 

aber wie würde/könnte ich völlig unterdrücke den CMS Navigationspunkt aussieht?

Antwort

14

Reiniger Art und Weise, dies zu tun:

hinzufügen adminhtml.xml (zB zu einem vorhandenen Module, die alle anderen customiza hält tion Sachen, oder erstellen Sie ein neues Modul)

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

Dies ist definitiv der Weg, um Dinge in einer modernen Version von Magento zu behandeln. Ich bin nicht sicher, ob es in der älteren Version unterstützt wird, aber wenn Sie Probleme haben, sehen Sie die alte, ursprüngliche, akzeptierte Antwort: http://stackoverflow.com/a/769931/4668 –

11

Sie könnten eine falsche Modulabhängigkeit in den Menüpunkt in Ihrer config.xml einfügen.

In Ihrem Fall

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

Ihre Wissenschaft beeindruckt mich! Will funktioniert so in anderen Bereichen der Konfigurationsdatei? Ich habe es nur einmal gesehen, um die richtige Reihenfolge beim Laden der Module zu gewährleisten. –

+0

Es scheint nur für die Initialisierung von Magento-Modulen (wie Sie angegeben haben) und den Aufbau des adminhtml-Menüs. Modulabhängigkeiten scheinen in diesen Klassen zu prüfen: Mage_Adminhtml_Block_Page_Menu Mage_Adminhtml_Model_Config Mage_Adminhtml_Model_System_Config_Source_Admin_Page Mage_Api_Model_Config Mage_Core_Model_Config –

+1

@Alan und @ Scott nur fragen, ob einer von euch einen eleganteren Weg gefunden, dies seit der Veröffentlichung in den zwei Jahren zu tun. Es scheint ein wenig ... hacky (nichts für ungut gemeint!). Danke, JD –

4

Ich glaube nicht, Alan noch jemanden brauchen würde, diese Frage zu stellen, sondern auch für alle andere, dass die Lektüre dieses könnte am Ende, wäre es ein bisschen besser zu nutzen:

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

Für einen bestimmten Menüpunkt können Sie:

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