Áú»¢¶Ä²©

manifest.json

Cualquier m¨®dulo necesita el archivo manifest.json. El archivo debe estar ubicado en el directorio principal del m¨®dulo (por ejemplo, zabbix/ui/modules/module_name/manifest.json).

Como m¨ªnimo, manifest.json debe especificar estos campos:

{
           "manifest_version": 2.0,
           "id": "mi_direccion_ip",
           "name": "Mi direcci¨®n IP",
           "namespace": &±ç³Ü´Ç³Ù;²Ñ¾±¶Ù¾±°ù±ð³¦³¦¾±¨®²Ô±õ±Ê&±ç³Ü´Ç³Ù;,
           "version": "1.0"
       }

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Çs admitidos en manifest.json (pulse sobre el nombre del par¨¢metro para obtener una »å±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô detallada):

±Ê²¹°ù¨¢³¾±ð³Ù°ù´Ç ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô Requerido
manifest_version Versi¨®n del manifiesto del m¨®dulo. Si
id ID ¨²nico del m¨®dulo.
name Nombre del m¨®dulo que se mostrar¨¢ en la secci¨®n Administraci¨®n.
namespace Espacio de nombres de PHP para las clases del m¨®dulo.
version Versi¨®n del m¨®dulo.
type Tipo del m¨®dulo. Para widget debe establecerse como widget Si para widgets, de lo contrario no
widget °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del widget. Usado s¨®lo para widgets.
actions Acciones a registrar con el m¨®dulo.
assets Estilos CSS y archivos JavaScript a incluir. No
author Autor del m¨®dulo.
config Valores por defecto para las opciones personalizadas del m¨®dulo.
description ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô del m¨®dulo.
url Un enlace a la »å±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô del m¨®dulo.

manifest_version

Versi¨®n de manifiesto del m¨®dulo. Actualmente, la ±¹±ð°ù²õ¾±¨®²Ô compatible es 2.0.

Type: Double

Ejemplo:

"manifest_version": 2.0

id

¾±»å±ð²Ô³Ù¾±´Ú¾±³¦²¹³¦¾±¨®²Ô

Identificaci¨®n del m¨®dulo. Debe ser ¨²nico. Para evitar futuros conflictos de nombres, se recomienda utilizar prefijos para los m¨®dulos (autor o nombre de la empresa, o cualquier otro). Por ejemplo, si un m¨®dulo es un ejemplo para lecciones y el nombre del m¨®dulo es "Mi m¨®dulo", entonces el ID ser¨¢ "ejemplo_mi_m¨®dulo".

Type: String

Ejemplo:

"id": "example_my_module"

nombre

Nombre del m¨®dulo que se mostrar¨¢ en la secci¨®n Administraci¨®n.

Type: String

Ejemplo:

"name": "My module"

espacio de nombres

Espacio de nombres PHP para clases de m¨®dulos.

Type: String

Example:

"namespace": "ClockWidget"

±¹±ð°ù²õ¾±¨®²Ô

Versi¨®n del m¨®dulo. La ±¹±ð°ù²õ¾±¨®²Ô se mostrar¨¢ en la secci¨®n Administraci¨®n. Module version. The version will be displayed in the Administration section.

Type: String

Example:

"version": "1.0"

tipo

Tipo del m¨®dulo. Requerido para widgets y debe ser igual a "widget".

Tipo: String

Default: "module"

Ejemplo:

"type": "widget"

actions

Acciones a registrar con el m¨®dulo. Se requiere definir la clave de objeto class para cada acci¨®n, otras claves de acci¨®n son opcionales.

Type: Objeto

Claves de objeto soportadas si type es module:

  • write.your.action.name (object) - nombre de la acci¨®n, debe escribirse en min¨²sculas [a-z], separando las palabras con puntos. Admite las claves:
  • class ( string; obligatorio) - nombre de la clase de la acci¨®n.
  • layout ( string) - dise?o de la acci¨®n. Valores admitidos: layout.json, layout.htmlpage (por defecto), null.
  • view ( string) - vista de la acci¨®n.

Ejemplo:

"actions": {
           "modulo.ejemplo.lista": {
               "clase": "ListaEjemplo",
               "vista": "ejemplo.list",
               "layout": "layout.htmlpage"
               }
           }

Claves de objeto soportadas si type es widget:

  • widget.{id}.view (objeto) - archivo y nombre de clase para la vista del widget. Sustituya {id} por el valor id del widget (por ejemplo, widget. example_clock.view). Admite las claves:
  • class ( string; required) - nombre de la clase de acci¨®n para el modo de vista del widget para extender la clase predeterminada CControllerDashboardWidgetView. El archivo fuente de la clase debe encontrarse en el directorio actions.
  • view ( string) - vista del widget. Debe estar en el directorio views. Si el archivo de la vista es widget.view.php, que es lo esperado por defecto, este par¨¢metro puede omitirse. Si utiliza un nombre diferente, especif¨ªquelo aqu¨ª.
  • widget.{id}.edit (objeto) - nombre del archivo para la vista de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del widget. Sustituya {id} por el valor id del widget (por ejemplo, widget. example_clock.edit). Admite las claves:
  • class ( string; obligatorio) - nombre de la clase de acci¨®n para el modo de vista de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del widget. El archivo fuente de la clase debe encontrarse en el directorio actions.
    • view (cadena) - vista de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del widget. Debe estar en el directorio views. Si el archivo de la vista es widget.edit.php, que es lo esperado por defecto, este par¨¢metro puede omitirse. Si usa un nombre diferente, especif¨ªquelo aqu¨ª.

Ejemplo:

"actions": {
           "widget.tophosts.view": {
               "class": "WidgetView"
           },
           "widget.tophosts.column.edit": {
               "class": "ColumnEdit",
               "view": "column.edit",
               "layout": "layout.json"
           }
       }

assets

Estilos CSS y archivos JavaScript para incluir.

Tipo: Objeto

Claves de objetos compatibles:

-css (matriz) - Archivos CSS para incluir. Los archivos deben estar ubicados en assets/css. -js (matriz) - Archivos JavaScript para incluir. Los archivos deben estar ubicados en assets/js.

Ejemplo:

"assets": {
           "css": ["widget.css"],
           "js": ["widget.js"]
       }

autor

Autor del m¨®dulo. El autor se mostrar¨¢ en la secci¨®n Administraci¨®n.

Tipo: Cadena

Ejemplo:

"author": "John Smith"

³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô

Valores predeterminados para las opciones del m¨®dulo. El objeto puede contener cualquier clave personalizada. Si se especifica, estos valores se escribir¨¢n en la base de datos durante el registro del m¨®dulo. Las nuevas variables agregadas m¨¢s tarde se escribir¨¢n en la primera llamada. Posteriormente, los valores de las variables solo se pueden cambiar directamente en la base de datos.

Tipo: Objeto

Ejemplo:

"config": {
           "username": "Admin",
           "password": "",
           "auth_url": "https://example.com/auth"
       }

»å±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô del m¨®dulo.

Tipo: Cadena

Ejemplo:

"description": "This is a clock widget."

widget

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del widget. Utilizado, si type se establece en widget.

Type: Objeto

Claves de objeto soportadas:

  • name (cadena) - usado en la lista de widgets y como cabecera por defecto. Si est¨¢ vac¨ªo, se utilizar¨¢ el par¨¢metro "name" del m¨®dulo.

  • size (objeto) - dimensiones por defecto del widget. Valores soportados:

    • width (entero) - anchura por defecto del widget.
    • height (entero) - altura por defecto del widget.
  • form_class (cadena) - clase con el formulario de los campos del widget. Debe estar ubicada en el directorio includes. Si la clase es WidgetForm.php, que se espera por defecto, este par¨¢metro puede omitirse. Si usa un nombre diferente, especif¨ªquelo aqu¨ª.

  • js_class (cadena) - nombre de una clase JavaScript para el modo de vista widget para extender la clase CWidget por defecto. La clase se cargar¨¢ con el tablero. El archivo fuente de la clase debe estar ubicado en el directorio assets/js. V¨¦ase tambi¨¦n: assets.

  • use_time_selector (booleano) - determina si el widget requiere el selector de tiempo del tablero. Valores admitidos: true, false (por defecto).

  • refresh_rate (entero) - frecuencia de actualizaci¨®n del widget en segundos (por defecto: 60).

Ejemplo:

"widget": {
           "name": "",                       
           "size": {                       
               "width": 12,
               "height": 5
           },
           "form_class": "WidgetForm", 
           "js_class": "CWidget",         
           "use_time_selector": false,    
           "refresh_rate": 60             
       }

URL

Un enlace a la »å±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô del m¨®dulo. Para los widgets, este enlace se abrir¨¢ al hacer clic en el icono de ayuda. en Agregar widget o en la ventana Editar widget. Si no se especifica url, al hacer clic en el icono de ayuda se abrir¨¢ la p¨¢gina gen¨¦rica widgets del tablero.

Tipo: Cadena

Ejemplo:

"url": "http://ejemplo.com"