Vista menuitem
Los menús no son vistas como tal, sin embargo se ven en el ambiente funcional del sistema y se les considera como elemento de vista. Los menús pueden tener o no tener acciones, cada menú con acción, debe tener previamente registrada dicha acción, sino dará un error en el sistema.
La tabla base donde se registran los menús es: ir.ui.menu
Esquema base
El elemento base para crear un registro de menú es: menuitem. Estos se declaran en archivos xml.
Un esquema de menú raíz o menú principal de un módulo sería parecido al siguiente:
<menuitem id="root_menu"
name="Menú raíz"
web_icon="modulo,static/description/icon.png"
active="True"
sequence="2"
/>
Un menú hijo del menú raíz y que no posee acción en el sistema, sino que anida otros submenús, pudiera declararse de la siguiente manera:
<menuitem id="escuela_menu"
name="Escuela"
parent="root_menu"
sequence="1"
/>
Se pueden crear n cantidad de registros de menús sin acciones, si un menú sin acción posee submenús sin acciones, estos menús no aparecerán en el sistema. Solo aparecen los menús que poseen acción y sus menús padre que lo aniden.
La declaración básica de un menú con acción sería parecida a la siguiente:
<menuitem id="escuela_alumnos_menu"
name="Alumnos"
parent="escuela_menu"
action="action_alumnos_form"
sequence="1"
/>
Atributos
Atributo | Descripción |
---|---|
id | Identificador único del menú, este identificador es visual para programación y referencia en archivos xml. |
name | Nombre y etiqueta del menú, se muestra en el ambiente funcional del sistema. |
web_icon | Si el menú es un menú raíz del módulo, se puede asociar un icono. Primero se hace referencia al nombre del módulo y luego la ruta de donde traerá la imagen del icono, ejemplo: modulo,static/description/icon.png |
active | Si es un menú raíz y se desea mostrar en el sistema, entonces se configura con valor: True; también se puede ocultar con: False. |
sequence | Un orden y relevancia del menú, el de menor valor es el menú que se mostrará en primer lugar. |
parent | Referencia del menú padre, se hace llamado del atributo id; si se hace llamado de un menú ubicado en otro módulo entonces se hará referencia del módulo: modulo.id_menu_padre |
action | Referencia de la acción, es el id de una acción definida; si se hace el llamado de una acción ubicada en otro módulo entonces se hará referencia del módulo: modulo.id_accion |