2009-04-07 8 views
14

Utilizzando il sistema Magento Ecommerce, è possibile rimuovere una voce dal menu di navigazione del pannello di amministrazione? Più in generale, esiste un modo per utilizzare il sistema di override di configurazione su rimuovere gli elementi esistenti da da una configurazione?Rimozione di un elemento dal pannello di amministrazione di Magento Navigazione

so di poter aggiungere alla navigazione con un override che sembra qualcosa di simile

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

Ma come/potrei completamente sopprimere la voce di navigazione CMS?

risposta

14

Cleaner modo per farlo:

Aggiungi un adminhtml.xml (ad esempio per un moduli esistenti che mantiene tutti gli altri customiza roba zione, o creare un nuovo modulo)

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

Questo è sicuramente il modo di gestire le cose in una versione moderna di Magento. Non sono sicuro che sia supportato nella versione precedente, ma se riscontri problemi con la vecchia risposta originale accettata: http://stackoverflow.com/a/769931/4668 –

11

È possibile iniettare una dipendenza da modulo falso nella voce di menu in config.xml.

Nel tuo caso,

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

La vostra scienza mi impressiona! Dipenderà il lavoro in altre aree del file di configurazione? L'avevo visto solo per garantire il corretto ordine di caricamento del modulo. –

+0

Sembra essere solo per inizializzare i moduli di Magento (come hai detto) e creare il menu adminhtml. le dipendenze dei moduli sembrano essere controllato in queste classi: 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 e @ Scott chiedo solo se uno di voi hanno trovato un modo più elegante di fare questo nei due anni da quando la pubblicazione. Sembra un po '... hacky (nessuna offesa intesa!). Grazie, JD –

4

Non credo che Alan sarebbe ancora bisogno di nessuno di fare questa domanda, ma per chiunque altro che potrebbe finire la lettura di questo, sarebbe un po 'meglio usare:

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

Per una specifica voce di menu è possibile utilizzare:

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