Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

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": "my_ip_address",
           "name": "My IP Address",
           "namespace": "MyIPAddress",
           "version": "1.0"
       }

Parámetros soportados en manifest.json (pulse sobre el nombre del parámetro para una descripción detallada):

Parámetro Descripción Requerido
manifest_version Versión del manifiesto del módulo.
id ID único del módulo.
name Nombre del módulo que se mostrará en la sección Administración.
namespace Espacio de nombres PHP para las clases del módulo.
version Versión del módulo.
type Tipo de módulo. Para widget debe establecerse en widget Sí para widgets, en caso contrario no
widget Configuración del widget. Usado solo para widgets.
actions Acciones a registrar con el módulo.
assets Archivos CSS y JavaScript a incluir. No
author Autor del módulo.
config Valores por defecto para las opciones personalizadas del módulo.
description Descripción del módulo.
url Un enlace a la descripción del módulo.

manifest_version

Versión del manifiesto del módulo. Actualmente, la versión soportada es 2.0.

Tipo: Doble

Ejemplo:

"manifest_version": 2.0

id

ID del módulo. Debe ser único. Para evitar conflictos de nombres en el futuro, se recomienda utilizar un prefijo 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á "example_my_module".

Tipo: Cadena

Ejemplo:

"id": "example_my_module"

name

Nombre del módulo que se mostrará en la sección de Administración.

Tipo: Cadena

Ejemplo:

"name": "Mi módulo"

namespace

Espacio de nombres PHP para las clases del módulo.

Tipo: Cadena

Ejemplo:

"namespace": "ClockWidget"

versión

Versión del módulo. La versión se mostrará en la sección de Administración.

Tipo: Cadena

Ejemplo:

"version": "1.0"

type

Tipo de módulo. Obligatorio para widgets y debe ser igual a "widget".

Tipo: Cadena

Por defecto: "module"

Ejemplo:

"type": "widget"

acciones

Acciones para registrar con el módulo. Definir la clave de objeto class para cada acción es obligatorio, otras claves de acción son opcionales.

Tipo: Objeto

Claves de objeto soportadas si type es module:

  • write.your.action.name (objeto) - nombre de la acción, debe escribirse en minúsculas [a-z], separando las palabras con puntos. Soporta las claves:
    • class (cadena; obligatorio) - nombre de la clase de la acción.
    • layout (cadena) - diseño de la acción. Valores soportados: layout.json, layout.htmlpage (por defecto), null.
    • view (cadena) - vista de la acción.

Ejemplo:

"actions": {
           "module.example.list": {
               "class": "ExampleList",
               "view": "example.list",
               "layout": "layout.htmlpage"
               }
           }

Claves de objeto soportadas si type es widget:

  • widget.{id}.view (objeto) - nombre de archivo y clase para la vista del widget. Reemplace {id} con el valor id del widget (por ejemplo, widget.example_clock.view). Soporta las claves:
    • class (cadena; obligatorio) - nombre de la clase de la acción para el modo de vista del widget para extender la clase por defecto CControllerDashboardWidgetView. El archivo fuente de la clase debe estar ubicado en el directorio actions.
    • view (cadena) - vista del widget. Debe estar ubicada en el directorio views. Si el archivo de vista es widget.view.php, que es el esperado por defecto, este parámetro puede omitirse. Si se utiliza un nombre diferente, especifíquelo aquí.
  • widget.{id}.edit (objeto) - nombre de archivo para la vista de configuración del widget. Reemplace {id} con el valor id del widget (por ejemplo, widget.example_clock.edit). Soporta las claves:
    • class (cadena; obligatorio) - nombre de la clase de la acción para el modo de vista de configuración del widget. El archivo fuente de la clase debe estar ubicado en el directorio actions.
    • view (cadena) - vista de configuración del widget. Debe estar ubicada en el directorio views. Si el archivo de vista es widget.edit.php, que es el esperado por defecto, este parámetro puede omitirse. Si se utiliza 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

Archivos de estilos CSS y JavaScript para incluir.

Tipo: Objeto

Claves de objeto soportadas:

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

Ejemplo:

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

autor

Autor del módulo. El autor se mostrará en la sección de Administración.

Tipo: Cadena

Ejemplo:

"author": "John Smith"

config

Valores predeterminados para las opciones del módulo. El objeto puede contener cualquier clave personalizada. Si se especifican, estos valores se escribirán en la base de datos durante el registro del módulo. Las nuevas variables añadidas posteriormente 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"
       }

description

Descripción del módulo.

Tipo: Cadena

Ejemplo:

"description": "Este es un widget de reloj."

widget

Configuración del widget. Se utiliza si type está establecido en widget.

Tipo: Objeto

Claves de objeto soportadas:

  • name (string) - se utiliza en la lista de widgets y como encabezado por defecto. Si está vacío, se usará el parámetro "name" del módulo.

  • size (object) - dimensiones por defecto del widget. Soporta las claves:

    • width (integer) - ancho por defecto del widget.
    • height (integer) - alto por defecto del widget.
  • form_class (string) - clase con el formulario de campos del widget. Debe estar ubicada en el directorio includes. Si la clase es WidgetForm.php, que es la esperada por defecto, este parámetro puede omitirse. Si se utiliza un nombre diferente, especifíquelo aquí.

  • js_class (string) - nombre de una clase JavaScript para el modo de vista del widget que extiende la clase CWidget por defecto. La clase se cargará con el dashboard. El archivo fuente de la clase debe estar ubicado en el directorio assets/js. Véase también: assets.

  • use_time_selector (boolean) - determina si el widget requiere el selector de tiempo del dashboard. Valores soportados: true, false (por defecto).

  • refresh_rate (integer) - intervalo 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 descripción del módulo. Para los widgets, este enlace se abrirá al hacer clic en el icono de ayuda en la ventana Añadir widget o Editar widget. Si url no se especifica, al hacer clic en el icono de ayuda se abrirá la página general de Widgets de panel.

Tipo: Cadena

Ejemplo:

"url": "http://example.com"