manifest.json
Katram modulim ir nepieciešams fails manifest.json. Failam jāatrodas moduļa galvenajā direktorijā (piemēram, zabbix/ui/modules/module_name/manifest.json).
Vismaz manifest.json failā jānorāda šādi lauki:
{
"manifest_version": 2.0,
"id": "my_ip_address",
"name": "My IP Address",
"namespace": "MyIPAddress",
"version": "1.0"
}
Parametri, kas tiek atbalstīti failā manifest.json (noklikšķiniet uz parametra nosaukuma, lai skatītu detalizētu aprakstu):
| Parametrs | Apraksts | Obligāts |
|---|---|---|
| manifest_version | Moduļa manifesta versija. | Jā |
| id | Unikāls moduļa ID. | |
| name | Moduļa nosaukums, kas tiks parādīts sadaļā Administration. | |
| namespace | PHP nosaukumvieta moduļa klasēm. | |
| version | Moduļa versija. | |
| type | Moduļa tips. Logrīkam jāiestata vērtība widget | Jā logrīkiem, citos gadījumos nē |
| widget | Logrīka konfigurācija. Izmanto tikai logrīkiem. | |
| actions | Darbības, kas jāreģistrē modulī. | |
| assets | Iekļaujamie CSS stili un JavaScript faili. | Nē |
| author | Moduļa autors. | |
| config | Pielāgoto moduļa opciju noklusējuma vērtības. | |
| description | Moduļa apraksts. | |
| url | Saite uz moduļa aprakstu. |
manifest_version
Moduļa manifesta versija.
Pašlaik atbalstītā versija ir 2.0.
Tips: Double
Piemērs:
"manifest_version": 2.0
id
Moduļa ID. Tam jābūt unikālam. Lai izvairītos no iespējamiem nosaukumu konfliktiem nākotnē, moduļiem ieteicams izmantot prefiksu (autora vai uzņēmuma nosaukumu vai jebkādu citu prefiksu). Piemēram, ja modulis ir paredzēts kā mācību piemērs un moduļa nosaukums ir "Mans modulis", tā ID būs "example_my_module".
Tips: String
Piemērs:
"id": "example_my_module"
nosaukums
Moduļa nosaukums, kas tiks parādīts sadaļā Administrēšana.
Type: String
Example:
"name": "My module"
nosaukumtelpa
PHP nosaukumtelpa moduļa klasēm.
Tips: String
Piemērs:
"namespace": "ClockWidget"
versija
Moduļa versija.
Versija tiks parādīta sadaļā Administration.
Tips: String
Piemērs:
"version": "1.0"
type
Moduļa tips. Nepieciešams logrīkiem, un tam jābūt vienādam ar "widget".
Tips: String
Noklusējums: "module"
Piemērs:
"type": "widget"
darbības
Darbības, kas jāreģistrē modulī.
Katrai darbībai ir obligāti jādefinē class objekta atslēga, pārējās darbību atslēgas nav obligātas.
Tips: Object
Atbalstītās objekta atslēgas, ja type ir module:
- write.your.action.name (object) - darbības nosaukums, kas jāraksta ar mazajiem burtiem [a-z], atdalot vārdus ar punktiem.
Atbalsta šādas atslēgas:- class (string; required) - darbības klases nosaukums.
- layout (string) - darbības izkārtojums.
Atbalstītās vērtības: layout.json, layout.htmlpage (noklusējums), null. - view (string) - darbības skats.
Piemērs:
"actions": {
"module.example.list": {
"class": "ExampleList",
"view": "example.list",
"layout": "layout.htmlpage"
}
}
Atbalstītās objekta atslēgas, ja type ir widget:
- widget.{id}.view (object) - logrīka skata faila un klases nosaukums.
Aizstājiet {id} ar logrīka vērtību id (piemēram, widget.example_clock.view).
Atbalsta šādas atslēgas:- class (string; required) - darbības klases nosaukums logrīka skata režīmam, lai paplašinātu noklusējuma CControllerDashboardWidgetView klasi.
Klases avota failam jāatrodas actions direktorijā. - view (string) - logrīka skats.
Tam jāatrodas views direktorijā.
Ja skata fails ir widget.view.php, kā paredzēts pēc noklusējuma, šo parametru var nenorādīt.
Ja tiek izmantots cits nosaukums, norādiet to šeit.
- class (string; required) - darbības klases nosaukums logrīka skata režīmam, lai paplašinātu noklusējuma CControllerDashboardWidgetView klasi.
- widget.{id}.edit (object) - logrīka konfigurācijas skata faila nosaukums.
Aizstājiet {id} ar logrīka vērtību id (piemēram, widget.example_clock.edit).
Atbalsta šādas atslēgas:- class (string; required) - darbības klases nosaukums logrīka konfigurācijas skata režīmam.
Klases avota failam jāatrodas actions direktorijā. - view (string) - logrīka konfigurācijas skats.
Tam jāatrodas views direktorijā.
Ja skata fails ir widget.edit.php, kā paredzēts pēc noklusējuma, šo parametru var nenorādīt.
Ja tiek izmantots cits nosaukums, norādiet to šeit.
- class (string; required) - darbības klases nosaukums logrīka konfigurācijas skata režīmam.
Piemērs:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
resursi
Iekļaujamie CSS stili un JavaScript faili.
Tips: Object
Atbalstītās objekta atslēgas:
- css (array) - Iekļaujamie CSS faili. Failiem jāatrodas mapē assets/css.
- js (array) - Iekļaujamie JavaScript faili. Failiem jāatrodas mapē assets/js.
Piemērs:
"assets": {
"css": ["widget.css"],
"js": ["class.widget.js"]
}
autors
Moduļa autors.
Autors tiks parādīts sadaļā “Administrēšana”.
Tips: String
Piemērs:
"author": "John Smith"
config
Moduļa opciju noklusējuma vērtības.
Objekts var saturēt jebkādas pielāgotas atslēgas.
Ja šīs vērtības ir norādītas, tās moduļa reģistrācijas laikā tiks ierakstītas datubāzē.
Vēlāk pievienotie jaunie mainīgie tiks ierakstīti pirmā izsaukuma laikā.
Pēc tam mainīgo vērtības var mainīt tikai tieši datubāzē.
Tips: Object
Piemērs:
"config": {
"username": "Admin",
"password": "",
"auth_url": "https://example.com/auth"
}
apraksts
Moduļa apraksts.
Type: String
Piemērs:
"description": "This is a clock widget."
logrīks
Logrīka konfigurācija.
Tiek izmantota, ja type ir iestatīts uz widget.
Tips: Object
Atbalstītās objekta atslēgas:
-
name (string) - tiek izmantots logrīku sarakstā un kā noklusējuma galvene.
Ja vērtība ir tukša, tiks izmantots moduļa parametrs "name". -
size (object) - logrīka noklusējuma izmēri.
Atbalsta šādas atslēgas:- width (integer) - logrīka noklusējuma platums.
- height (integer) - logrīka noklusējuma augstums.
-
form_class (string) - klase ar logrīka lauku veidlapu.
Tai jāatrodas direktorijā includes.
Ja klase ir WidgetForm.php, kas tiek izmantota pēc noklusējuma, šo parametru var nenorādīt.
Ja tiek izmantots cits nosaukums, norādiet to šeit. -
js_class (string) - JavaScript klases nosaukums, kas logrīka skata režīmam paplašina noklusējuma CWidget klasi.
Klase tiks ielādēta kopā ar informācijas paneli.
Klases avota failam jāatrodas direktorijā assets/js.
Skatiet arī: assets. -
use_time_selector (boolean) - nosaka, vai logrīkam ir nepieciešams informācijas paneļa laika atlasītājs.
Atbalstītās vērtības: true, false (noklusējums). -
refresh_rate (integer) - logrīka atsvaidzināšanas intervāls sekundēs (noklusējums: 60).
Piemērs:
"widget": {
"name": "",
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
url
Saite uz moduļa aprakstu.
Logrīkiem šī saite tiks atvērta, noklikšķinot uz palīdzības ikonas
logrīka Pievienošana vai
Rediģēšana logā.
Ja url nav norādīts, noklikšķinot uz palīdzības ikonas, tiks atvērta vispārīgā
lapa Informācijas paneļa logrīki.
Tips: String
Piemērs:
"url": "http://example.com"