2009-04-07 15 views
14

Al usar el sistema de comercio electrónico de Magento, ¿es posible eliminar un elemento del menú de navegación del Panel de administración? De forma más general, ¿hay alguna manera de utilizar el sistema de anulación de la configuración en para eliminar elementos existentes de una configuración?Eliminar un elemento del Panel de administración de Magento Navegación

Sé que puedo agregar a la navegación con un aumento al presupuesto que se ve algo como esto

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

pero ¿cómo/podría suprimir completamente el elemento de navegación CMS?

Respuesta

14

Limpiador manera de hacer esto:

Añadir un adminhtml.xml (por ejemplo, a una módulos existentes que mantiene todas las demás customiza cosas ción, o crear un nuevo módulo)

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

Esta es definitivamente la manera de manejar las cosas en una versión moderna de Magento. No estoy seguro de si es compatible con una versión anterior, pero si tiene problemas, vea la respuesta antigua y original aceptada: http://stackoverflow.com/a/769931/4668 –

11

Puede insertar una dependencia de módulo falsa en el elemento del menú en su config.xml.

En su caso,

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

Su ciencia me impresiona! ¿Depende el trabajo así en otras áreas del archivo de configuración? Solo lo había visto usado para asegurar el orden correcto de carga del módulo. –

+0

Parece ser solo para inicializar los módulos de Magento (como usted indicó) y crear el menú de adminhtml. dependencias del módulo parecen ser comprobado en estas clases: 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 y @ Scott pregunto si alguno de ustedes encontraron la manera más elegante de hacer esto en los dos años desde la publicación. Parece un poco ... hacky (sin intención de ofender!). Gracias, JD –

4

No creo que Alan seguiría siendo necesario que cualquiera pueda hacer esta pregunta, pero para cualquier otra persona que podría terminar de leer esto, sería un poco mejor utilizar:

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

Para un punto de menú específico que puede utilizar:

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