BLOG

adminhtml.xml

Referencias:

Este archivo permite gestionar los elementos del menú de Magento (<menu></menu>) y el control de acceso a ellos por parte de los usuarios (<acl></acl>). El acceso a los elementos por parte de los usuarios se hace según roles que se gestionan en Panel > System > Permissions > Roles

Ejemplo:

<?xml version=”1.0” ?>
<config>
    <menu>
        <item menu translate=”title” module=”[module_name]”>
            <title>My Custom Menu Item</title>
            <sort_order>300</sort_order>
            <children>
                <!—child items go here 
                <subitem translate=”title” module=”[module_name]”>
                    <title>Subitem</title>
                    <sort_order>10</sort_order>
                    <action>adminhtml/mycustom_controller/</action>
                </subitem>
            </children>
        </item>
    </menu>
    <acl>
        <resources>
            <admin>
                <children>
                    <item translate=”title” module=”[module_name]”>
                        <title>My Custom Menu Item</title>
                        <sort_order>300</sort_order>
                        <children>
                            <!—child items go here 
                            <subitem translate=”title” module=”[module_name]”>
                                <title>Subitem</title>
                                <sort_order>10</sort_order>
                            </subitem>
                        </children>
                    </item>
                </children>
            </admin>
        </resources>
    </acl>
</config>
  • menu – permite añadir elementos al menú de navegación
    • item – identificador del elemento a añadir al menú, debe ser un identificador único.
    • module – específica el módulo desde el que se obtendrán las traducciones.
    • translate – específica los nodos hijo que serán traducibles (si existen multiples valores se separan por comas)
    • Hijos del nodo:
      • title – es el texto que será mostrado en el renderizado
      • sort_order – orden del elemento dentro del menú
      • action – determina el route del controlador al que se quiere enlazar el elemento.
      • children – determina elementos del menú hijos al que se está definiendo (submenú). A su vez, cualquier nodo de children, como <subitem> tendrá las mimas propiedades que ítem.
        ** action y children no coexisten, un elemento del menú o tiene un action o tiene children
      • resource – permite definir un resource ACL distinto al generado por el resource general para controlar el acceso. El resource general en un menú con path “menu_item1/submenu_item1” generá un control de acceso “admin/menu_item1/submenu_item1”.
      • disabled – valor booleano que indica si un elemento se oculta o no (1 se oculta, 0 se muestra). Si el valor no se define el elemento es visible. Puede ser utilizado para ocultar elementos del menú si se define dentro del mismo path que el elemento.
      • depends – este nodo se utiliza para ocultar el elemento cuando este desactivado un módulo o cuando el valor de un campo de la configuración es 0.
        • module – define el nombre del módulo de la dependencia (Ej: Mage_Customer). Si el módulo no se carga el elemento del menú no será mostrado.
          <depends>
               <module>Mage_Customer</module>
          </depends>
          
          • config – define el config_path del field de la configuración. Si el valor del campo es 0 el elemento no será mostrado. En este ejemplo el campo no se mostrará si no esta permitido introducir opiniones a los invitados:
            <depends>
                 <config>catalog/review/allow_guest</config>
            </depends>
            
            • acl – indica que es un nodo de configuración de permisos
              • resources – indica que se controla el acceso a recursos
                • resource – indica el recurso al que se accede, en la mayoría de los casos “admin”
                • children – permite profundizar hasta la ruta del nodo/s que queremos dotar de control de acceso.
                  • Ítem o subitem – nombre del nodo que se incorpora al ACL
                    • module – específica el módulo desde el que se obtendrán las traducciones.
                    • translate – específica los nodos hijo que serán traducibles (si existen multiples valores se separan por comas)
                    • Hijos del nodo:
                      • title – es el texto que será mostrado en el renderizado
                      • sort_order – orden del elemento dentro del menú acl.

            En system.xml indicábamos que era necesario añadir los elementos section creados en la configuración al control de acceso. Siguiendo el ejemplo:

            <?xml version="1.0" ?>
            <config>
                <acl>
                    <resources>
                        <admin>
                            <children>
                                <system>
                                    <children>
                                        <config>
                                            <children>
                                                <mycustom_section translate="title" module="[module_name]">
                                                    <title>My Custom Section</title>
                                                    <sort_order>100</sort_order>
                                                </mycustom_section>
                                            </children>
                                        </config>
                                    </children>
                                </system>
                             </children>
                        </admin>
                    </resources>
                </acl>
            </config>
            

             

Publicado

Categoría XML de configuración

Etiquetado como Magento 1.x xml