Tout module a besoin du fichier manifest.json. Le fichier doit être situé dans le répertoire principal du module (ui/modules/module_name/manifest.json
).
Au strict minimum, manifest.json doit spécifier ces champs :
{
"manifest_version": 2.0,
"id": "mon_adresse_ip",
"name": "Mon adresse IP",
"namespace": "MonAdresseIP",
"version": "1.0"
}
Paramètres pris en charge dans manifest.json (appuyez sur le nom du paramètre pour une description détaillée) :
Paramètre | Description | Obligatoire |
---|---|---|
manifest_version | Version manifeste du module. | Oui |
id | ID de module unique. | |
name | Nom du module qui sera affiché dans la section Administration. | |
namespace | Espace de noms PHP pour les classes de modules. | |
version | Version du module. | |
type | Type du module. Pour le widget doit être défini sur widget | Oui pour les widgets, sinon non |
widget | Configuration des widgets. Utilisé uniquement pour les widgets. | |
actions | Actions pour s'inscrire au module. | |
assets | Styles CSS et fichiers JavaScript à inclure. | Non |
author | Auteur du module. | |
config | Valeurs par défaut pour les options de module personnalisées. | |
description | Description du module. | |
url | Un lien vers la description du module. |
Version manifeste du module. Actuellement, la version prise en charge est 2.0.
Type : Double
Exemple:
ID du module. Doit être unique. Pour éviter de futurs conflits de noms, il est recommandé d'utiliser un préfixe pour les modules (nom de l'auteur ou de l'entreprise, ou tout autre). Par exemple, si un module est un exemple de leçons et que le nom du module est « Mon module », alors l'ID sera « exemple_mon_module ».
Type : Chaîne
Exemple:
Nom du module qui sera affiché dans la section Administration.
Type : Chaîne
Exemple:
Namespace PHP pour les classes de modules.
Type : Chaîne
Exemple:
Version du module. La version sera affichée dans la section Administration.
Type : Chaîne
Exemple:
Type du module. Obligatoire pour les widgets et doit être égal à « widget ».
Type : Chaîne
Default : "module"
Exemple:
Actions to register with the module. Defining class object key for each action is required, other action keys are optional.
Type: Object
Supported object keys if type is module:
Example:
"actions": {
"module.example.list": {
"class": "ExampleList",
"view": "example.list",
"layout": "layout.htmlpage"
}
}
Supported object keys if type is widget:
Example:
"actions": {
"widget.tophosts.view": {
"class": "WidgetView"
},
"widget.tophosts.column.edit": {
"class": "ColumnEdit",
"view": "column.edit",
"layout": "layout.json"
}
}
CSS styles and JavaScript files to include.
Type: Object
Supported object keys:
Example:
Auteur du module. L'auteur sera affiché dans la section Administration.
Type : Chaîne
Exemple:
Default values for the module options. The object may contain any custom keys. If specified, these values will be written into the database during module registration. New variables added later will be written upon the first call. Afterwards, the variable values can only be changed directly in the database.
Type: Object
Example:
Descriptif des modules.
Type : Chaîne
Exemple:
Widget configuration. Used, if type is set to widget.
Type: Object
Supported object keys:
name (string) - used in the widget list and as default header. If empty, "name" parameter from the module will be used.
template_support (boolean) - determines whether the widget should be available in template dashboards. Supported values: true, false (default).
size (object) - default widget dimensions. Supports keys:
form_class (string) - class with widget fields form. Must be located in the includes directory. If the class is WidgetForm.php, which is expected by default, this parameter maybe omitted. If using a different name, specify it here.
js_class (string) - name of a JavaScript class for widget view mode to extend the default CWidget class. The class will be loaded with the dashboard. The class source file must be located in the assets/js directory. See also: assets.
use_time_selector (boolean) - determines whether the widget requires dashboard time selector. Supported values: true, false (default).
refresh_rate (integer) - widget refresh rate in seconds (default: 60).
Example:
"widget": {
"name": "",
"template_support": true,
"size": {
"width": 12,
"height": 5
},
"form_class": "WidgetForm",
"js_class": "CWidget",
"use_time_selector": false,
"refresh_rate": 60
}
Un lien vers la description du module.
Type : Chaîne
Exemple: