[comment]: # translation:outdated

[comment]: # aside:2

[comment]: # ({a2041013-7b40086b})
# Файловая структура модуля

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

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

[comment]: # ({887796fe-dffd3e26})
### Дерево файлов модуля

````yaml
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                 Любой файл для использования в представлениях.
````

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

[comment]: # ({f1074788-1d438d3e})
### Написание модуля

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

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

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

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