[comment]: # aside:2

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

# モジュールファイルの構造

モジュールに関連するすべてのコードは、Zabbixフロントエンドインストールの**modules**ディレクトリ内の1つのディレクトリに保存されます (例: *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]: # ({fad37003-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. JavaScript ファイル用の *[assets](/devel/modules/file_structure/assets)* フォルダ（*assets/js* に配置）、CSS スタイル用のフォルダ（*assets/css* に配置）、またはその他の追加ファイルを作成します。
7. manifest.json に、必要なビュー、アクション、およびアセットファイルを指定していることを確認します。
8. Zabbix Webインターフェースでモジュールを [登録](/devel/modules/file_structure/register) し、使用を開始します。

:::notetip
manifest.json ファイルを作成した時点で、モジュールを登録して有効化できます。
モジュールが有効になると、Zabbix Webインターフェースを更新するだけで、モジュールファイルに加えた変更をすぐにプレビューできます。
:::

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