Struttura del file del modulo
Tutto il codice relativo a un modulo è memorizzato in una singola directory all'interno della directory dei moduli del frontend di Zabbix (ad esempio zabbix/ui/modules/).
Albero dei file del modulo
example_module_directory/ (obbligatorio)
manifest.json (obbligatorio) Metadati e definizione delle azioni.
Module.php Inizializzazione del modulo e gestione degli eventi.
actions/ File del controller delle azioni.
SomethingView.php
SomethingCreate.php
SomethingDelete.php
data_export/
ExportAsXml.php
ExportAsExcel.php
views/ File delle viste.
example.something.view.php
example.something.delete.php
assets/ Qualsiasi file aggiuntivo da utilizzare nelle viste. Deve essere specificato in manifest.json.
js/ File JavaScript utilizzati nelle viste.
example.something.view.js.php
css/ File CSS utilizzati nelle viste.
example.something.css
image.png Immagini utilizzate nelle viste.
example.something.file Qualsiasi file da utilizzare nelle viste.
Scrivere un module
Un processo di scrittura di un module di esempio consiste nei seguenti passaggi (dove disponibile, fare clic sul nome del file o della cartella per visualizzare ulteriori dettagli sul passaggio):
- Creare una nuova directory per il module all'interno di zabbix/ui/modules/.
- Aggiungere il file manifest.json con i metadati del module.
- Creare la cartella views e definire una o più view del module.
- Creare la cartella actions e definire una o più action del module.
- Creare il file Module.php (o Widget.php per i widget della dashboard) e definire le regole di inizializzazione e gestione degli eventi.
- Creare la cartella assets per i file JavaScript (da inserire in assets/js), gli stili CSS (da inserire in assets/css) o qualsiasi altro file aggiuntivo.
- Assicurarsi di specificare nel file manifest.json le view, le action e i file asset richiesti.
- Registrare il module nel frontend di Zabbix e iniziare a usarlo.
È possibile registrare e abilitare un module non appena si crea il file manifest.json. Una volta abilitato il module, è possibile visualizzare immediatamente tutte le modifiche apportate ai file del module aggiornando il frontend di Zabbix.