Било ком модулу је потребна датотека manifest.json. Датотека мора да се налази у примарном директоријуму модула (на пример, zabbix/ui/modules/module_name/manifest.json).
Као минимум, manifest.json треба да наведе ова поља:
{
"manifest_version": 2.0,
"id": "my_ip_address",
"name": "My IP Address",
"namespace": "MyIPAddress",
"version": "1.0"
}
Параметри подржани у manifest.json (притисните назив параметра за детаљан опис):
Parameter | Description | Required |
---|---|---|
manifest_version | Манифест верзија модула. | Да |
id | Јединствени ID модула. | |
name | Назив модула који ће бити приказан у одељку Администрација. | |
namespace | PHP именски простор за класе модула. | |
version | Верзија модула. | |
type | Тип модула. За виџет мора бити подешен на widget | Да за виџете, иначе не |
widget | Конфигурација виџета. Користи се само за виџете. | |
actions | Радње за регистрацију у модулу. | |
assets | CSS стилови и JavaScript датотеке које треба укључити. | Не |
author | Аутор модула. | |
config | Подразумеване вредности за опције прилагођеног модула. | |
description | Опис модула. | |
url | Веза до описа модула. |
Верзија манифеста модула. Тренутно, подржана верзија је 2.0. Тип: Двоструки
Пример:
ID модула. Мора бити јединствен. Да бисте избегли будуће сукобе имена, препоручује се коришћење префикса за модуле (аутор или назив компаније, или било који други). На пример, ако је модул пример за лекције и назив модула је "My module", онда ће ID бити "example_my_module".
Тип: String
Пример:
Назив модула који ће бити приказан у одељку Администрација.
Tip: String
Пример:
PHP именски простор за класе модула.
Тип: String
Пример:
Верзија модула. Верзија ће бити приказана у одељку Администрација.
Тип: String
Пример:
Тип модула. Обавезно за видџете и мора бити једнако "widget".
Тип:String
Подразумевано:"module"
Пример:`
Акције за регистрацију са модулима. Дефинисање кључа објекта class за сваку акцију је потребно, остали акциони кључеви су опциони.
Тип: Објекат
Подржани кључеви објеката ако је type module:
Пример:
"actions": {
"module.example.list": {
"class": "ExampleList",
"view": "example.list",
"layout": "layout.htmlpage"
}
}
Подржани кључеви објеката ако је type widget:
Пример:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
CSS стилови и JavaScript датотеке које треба укључити.
Тип: Објекат
Подржани кључеви објеката:
Пример:
Аутор модула. Аутор ће бити приказан у одељку Администрација.
Тип: String
Пример:
Подразумеване вредности за опције модула. Објекат може садржати било које прилагођене кључеве.Ако је специфицирано, ове вредности ће бити уписане у базу података током регистрације модула.Нове варијабле додате касније ће бити уписане при првом позиву.После тога, вредности променљивих се могу мењати само директно у бази података.
Тип: Објекат
Пример:
Опис модула.
Тип: String
Пример:
Конфигурација виџета. Користи се ако је type постављено на widget.
Тип: Објекат
Подржани кључеви објеката:
** name** (string) - користи се у листи виџета и као подразумевано заглавље. Ако је празно, користиће се параметар "name" из модула.
** size** (објекат) - подразумеване димензије виџета. Подржава следеће кључеве:
form_class (string) - класа са формом за поља виџета. Мора да се налази у директоријуму includes. Ако је класа WidgetForm.php, што се подразумевано очекује, овај параметар је можда изостављен.
Ако користите друго име, наведите га овде.
js_class (string) - име JavaScript класе за режим приказа виџета ради проширења подразумеване класе CWidget. Класа ће бити учитана са контролном таблом. Изворна датотека класе мора да се налази у директоријуму assets/js. Такође погледајте: assets.
use_time_selector (boolean) - одређује да ли виџет захтева бирач времена на контролној табли. Подржане вредности: * true, false* (подразумевано).
refresh_rate (цео број) - брзина освежавања виџета у секундама (подразумевано: 60).
Пример:
"widget": {
"name": "",
"size": {"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
Веза до описа модула. За виџете, ова веза ће се отворити када кликнете на икону помоћи у Add widget илиEdit widget прозор. Ако ** url** није наведен, кликом на икону помоћи отвориће се општа страница Dashboard widgets.
Тип: String
Пример: