Estructura de archivos del módulo
Todo el código relacionado con un módulo se almacena en un único directorio dentro del directorio modules de su instalación del frontend de Zabbix (por ejemplo, zabbix/ui/modules).
Árbol de archivos del módulo
example_module_directory/ (obligatorio)
manifest.json (obligatorio) Metadatos y definición de acciones.
Module.php Inicialización del módulo y manejo de eventos.
actions/ Archivos de controladores de acciones.
SomethingView.php
SomethingCreate.php
SomethingDelete.php
data_export/
ExportAsXml.php
ExportAsExcel.php
views/ Archivos de vistas.
example.something.view.php
example.something.delete.php
assets/ Cualquier archivo adicional para ser usado en las vistas. Debe especificarse en manifest.json.
js/ Archivos JavaScript usados en las vistas.
example.something.view.js.php
css/ Archivos CSS usados en las vistas.
example.something.css
image.png Imágenes usadas en las vistas.
example.something.file Cualquier archivo para usar en las vistas.
Escribir un módulo
Un proceso de escritura de un módulo de ejemplo consiste en los siguientes pasos (donde esté disponible, haga clic en el nombre del archivo o carpeta para ver detalles adicionales sobre el paso):
- Cree un nuevo directorio para el módulo dentro de zabbix/ui/modules/.
- Añada el archivo manifest.json con los metadatos del módulo.
- Cree la carpeta views y defina una o varias vistas del módulo.
- Cree la carpeta actions y defina una o varias acciones del módulo.
- Cree el archivo Module.php (o Widget.php para widgets del panel) y defina las reglas de inicialización y manejo de eventos.
- Cree la carpeta assets para archivos JavaScript (colóquelos en assets/js), estilos CSS (colóquelos en assets/css) o cualquier otro archivo adicional.
- Asegúrese de especificar las vistas, acciones y archivos de recursos necesarios en el manifest.json.
- Registre el módulo en el frontend de Zabbix y comience a usarlo.
Puede registrar y habilitar un módulo tan pronto como cree el archivo manifest.json. Una vez que el módulo esté habilitado, puede previsualizar todos los cambios realizados en los archivos del módulo inmediatamente actualizando el frontend de Zabbix.