[comment]: # aside:2

[comment]: # ({a2041013-7b40086b})
# 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/*).

[comment]: # ({/a2041013-7b40086b})

[comment]: # ({887796fe-dffd3e26})
### Albero dei file del modulo

````yaml
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.
````

[comment]: # ({/887796fe-dffd3e26})

[comment]: # ({f1074788-1d438d3e})
### 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):

1. Creare una nuova directory per il module all'interno di **zabbix/ui/modules/**.
2. Aggiungere il file [manifest.json](/devel/modules/file_structure/manifest) con i metadati del module.
3. Creare la cartella *[views](/devel/modules/file_structure/views)* e definire una o più view del module.
4. Creare la cartella *[actions](/devel/modules/file_structure/actions)* e definire una o più action del module.
5. Creare il file Module.php (o Widget.php per i widget della dashboard) e definire le regole di inizializzazione e gestione degli eventi.
6. Creare la cartella *[assets](/devel/modules/file_structure/assets)* per i file JavaScript (da inserire in *assets/js*), gli stili CSS (da inserire in *assets/css*) o eventuali altri file aggiuntivi.
7. Assicurarsi di specificare nel file manifest.json le view, le action e i file asset richiesti.
8. [Registrare](/devel/modules/file_structure/register) il module nel frontend di Zabbix e iniziare a usarlo.

:::notetip
È 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.
:::

[comment]: # ({/f1074788-1d438d3e})
