Estrutura de arquivos do módulo
Todo o código relacionado a um módulo é armazenado em um único diretório dentro do diretório modules da sua instalação do frontend do Zabbix (por exemplo, zabbix/ui/modules).
Estrutura de arquivos do módulo
example_module_directory/ (obrigatório)
manifest.json (obrigatório) Metadados e definição de ação.
Module.php Inicialização do módulo e manipulação de eventos.
actions/ Arquivos de controladores de ação.
SomethingView.php
SomethingCreate.php
SomethingDelete.php
data_export/
ExportAsXml.php
ExportAsExcel.php
views/ Arquivos de visualização.
example.something.view.php
example.something.delete.php
assets/ Quaisquer arquivos adicionais a serem usados nas visualizações. Devem ser especificados em manifest.json.
js/ Arquivos JavaScript usados nas visualizações.
example.something.view.js.php
css/ Arquivos CSS usados nas visualizações.
example.something.css
image.png Imagens usadas nas visualizações.
example.something.file Qualquer arquivo para uso nas visualizações.
Escrevendo um módulo
Um processo de escrita de módulo de exemplo consiste nas seguintes etapas (quando disponível, clique no nome do arquivo ou pasta para ver detalhes adicionais sobre a etapa):
- Crie um novo diretório para o módulo dentro de zabbix/ui/modules/.
- Adicione o arquivo manifest.json com os metadados do módulo.
- Crie a pasta views e defina uma ou mais views do módulo.
- Crie a pasta actions e defina uma ou mais actions do módulo.
- Crie o arquivo Module.php (ou Widget.php para widgets de dashboard) e defina as regras de inicialização e manipulação de eventos.
- Crie a pasta assets para arquivos JavaScript (coloque em assets/js), estilos CSS (coloque em assets/css) ou quaisquer outros arquivos adicionais.
- Certifique-se de especificar as views, actions e arquivos de asset necessários no manifest.json.
- Registre o módulo no frontend do Zabbix e comece a usá-lo.
Você pode registrar e habilitar um módulo assim que criar o arquivo manifest.json. Assim que o módulo estiver habilitado, você poderá visualizar imediatamente todas as alterações feitas nos arquivos do módulo apenas atualizando o frontend do Zabbix.