Файловая структура модуля

Весь код, связанный с модулем, хранится в одном каталоге внутри каталога modules вашей установки веб-интерфейса Zabbix (например, zabbix/ui/modules).

Дерево файлов модуля

example_module_directory/ (обязательно)  manifest.json (обязательно) Метаданные и определение действия.  Module.php Инициализация модуля и обработка событий.  actions/ Файлы контроллера действий.  SomethingView.php  SomethingCreate.php  SomethingDelete.php  data_export/  ExportAsXml.php  ExportAsExcel.php  views/ Представления файлов.  example.something.view.php  example.something.delete.php  assets/ Любые дополнительные файлы, которые будут использоваться в представлениях. Должно быть указано в manifest.json.  js/ Файлы JavaScript, используемые в представлениях.  example.something.view.js.php  css/ CSS-файлы, используемые в представлениях.  example.something.css  image.png Изображения, используемые в представлениях.  example.something.file Любой файл для использования в представлениях.

Написание модуля

Пример процесса написания модуля состоит из следующих шагов (если возможно, щелкните имя файла или папки, чтобы просмотреть дополнительные сведения об этом шаге):

  1. Создайте новый каталог для модуля внутри zabbix/ui/modules/.
  2. Добавьте файл manifest.json с метаданными модуля.
  3. Создайте папку views и определите представление(я) модуля.
  4. Создайте папку actions и определите действие(я) модуля.
  5. Создайте файл Module.php (или Widget.php для виджетов панели) и определите правила инициализации и обработки событий.
  6. Создайте папку assets для файлов JavaScript (поместите в assets/js), стилей CSS (поместите в assets/css) или любых других дополнительных файлов.
  7. Обязательно укажите необходимые представления, действия и файлы ресурсов в файле Manifest.json.
  8. Зарегистрируйте модуль в веб-интерфейсе Zabbix и начните его использовать.

Вы можете зарегистрировать и включить модуль, как только создадите файл manifest.json. Как только модуль включен, вы можете сразу просмотреть все изменения, внесенные в файлы модуля, обновив веб-интерфейс Zabbix.