Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

manifest.json

Qualquer módulo precisa do arquivo manifest.json. O arquivo deve estar localizado no diretório principal do módulo (por exemplo, zabbix/ui/modules/module_name/manifest.json).

No mínimo, o manifest.json deve especificar estes campos:

{
           "manifest_version": 2.0,
           "id": "my_ip_address",
           "name": "My IP Address",
           "namespace": "MyIPAddress",
           "version": "1.0"
       }

Parâmetros suportados em manifest.json (clique no nome do parâmetro para uma descrição detalhada):

Parâmetro Descrição Obrigatório
manifest_version Versão do manifesto do módulo. Sim
id ID único do módulo.
name Nome do módulo que será exibido na seção Administração.
namespace Namespace PHP para as classes do módulo.
version Versão do módulo.
type Tipo do módulo. Para widget deve ser definido como widget Sim para widgets, caso contrário não
widget Configuração do widget. Usado apenas para widgets.
actions Ações para registrar com o módulo.
assets Estilos CSS e arquivos JavaScript a serem incluídos. Não
author Autor do módulo.
config Valores padrão para opções personalizadas do módulo.
description Descrição do módulo.
url Um link para a descrição do módulo.

manifest_version

Versão do manifesto do módulo. Atualmente, a versão suportada é 2.0.

Tipo: Double

Exemplo:

"manifest_version": 2.0

id

ID do módulo. Deve ser único. Para evitar conflitos de nomes futuros, recomenda-se usar um prefixo para os módulos (nome do autor ou da empresa, ou qualquer outro). Por exemplo, se um módulo for um exemplo para lições e o nome do módulo for "Meu módulo", então o ID será "example_my_module".

Tipo: String

Exemplo:

"id": "example_my_module"

name

Nome do módulo que será exibido na seção Administração.

Tipo: String

Exemplo:

"name": "Meu módulo"

namespace

Namespace PHP para classes de módulo.

Tipo: String

Exemplo:

"namespace": "ClockWidget"

version

Versão do módulo. A versão será exibida na seção Administração.

Tipo: String

Exemplo:

"version": "1.0"

type

Tipo do módulo. Obrigatório para widgets e deve ser igual a "widget".

Tipo: String

Padrão: "module"

Exemplo:

"type": "widget"

actions

Ações a serem registradas com o módulo. Definir a chave do objeto class para cada ação é obrigatório, outras chaves de ação são opcionais.

Tipo: Objeto

Chaves de objeto suportadas se type for module:

  • write.your.action.name (objeto) - nome da ação, deve ser escrito em minúsculas [a-z], separando as palavras com pontos. Suporta as chaves:
    • class (string; obrigatório) - nome da classe da ação.
    • layout (string) - layout da ação. Valores suportados: layout.json, layout.htmlpage (padrão), null.
    • view (string) - visualização da ação.

Exemplo:

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

Chaves de objeto suportadas se type for widget:

  • widget.{id}.view (objeto) - nome do arquivo e da classe para a visualização do widget. Substitua {id} pelo valor id do widget (por exemplo, widget.example_clock.view). Suporta as chaves:
    • class (string; obrigatório) - nome da classe da ação para o modo de visualização do widget para estender a classe padrão CControllerDashboardWidgetView. O arquivo fonte da classe deve estar localizado no diretório actions.
    • view (string) - visualização do widget. Deve estar localizada no diretório views. Se o arquivo de visualização for widget.view.php, que é o esperado por padrão, este parâmetro pode ser omitido. Se estiver usando um nome diferente, especifique-o aqui.
  • widget.{id}.edit (objeto) - nome do arquivo para a visualização da configuração do widget. Substitua {id} pelo valor id do widget (por exemplo, widget.example_clock.edit). Suporta as chaves:
    • class (string; obrigatório) - nome da classe da ação para o modo de visualização da configuração do widget. O arquivo fonte da classe deve estar localizado no diretório actions.
    • view (string) - visualização da configuração do widget. Deve estar localizada no diretório views. Se o arquivo de visualização for widget.edit.php, que é o esperado por padrão, este parâmetro pode ser omitido. Se estiver usando um nome diferente, especifique-o aqui.

Exemplo:

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

assets

Estilos CSS e arquivos JavaScript para incluir.

Tipo: Objeto

Chaves de objeto suportadas:

  • css (array) - arquivos CSS para incluir. Os arquivos devem estar localizados em assets/css.
  • js (array) - arquivos JavaScript para incluir. Os arquivos devem estar localizados em assets/js.

Exemplo:

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

author

Autor do módulo. O autor será exibido na seção Administração.

Tipo: String

Exemplo:

"author": "John Smith"

config

Valores padrão para as opções do módulo. O objeto pode conter quaisquer chaves personalizadas. Se especificado, esses valores serão gravados no banco de dados durante o registro do módulo. Novas variáveis adicionadas posteriormente serão gravadas na primeira chamada. Depois disso, os valores das variáveis só podem ser alterados diretamente no banco de dados.

Tipo: Objeto

Exemplo:

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

description

Descrição do módulo.

Tipo: String

Exemplo:

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

widget

Configuração do widget. Usado se type estiver definido como widget.

Tipo: Objeto

Chaves de objeto suportadas:

  • name (string) - usado na lista de widgets e como cabeçalho padrão. Se vazio, o parâmetro "name" do módulo será usado.

  • size (objeto) - dimensões padrão do widget. Suporta as chaves:

    • width (inteiro) - largura padrão do widget.
    • height (inteiro) - altura padrão do widget.
  • form_class (string) - classe com o formulário de campos do widget. Deve estar localizada no diretório includes. Se a classe for WidgetForm.php, que é esperada por padrão, este parâmetro pode ser omitido. Se estiver usando um nome diferente, especifique-o aqui.

  • js_class (string) - nome de uma classe JavaScript para o modo de visualização do widget para estender a classe padrão CWidget. A classe será carregada com o dashboard. O arquivo fonte da classe deve estar localizado no diretório assets/js. Veja também: assets.

  • use_time_selector (booleano) - determina se o widget requer o seletor de tempo do dashboard. Valores suportados: true, false (padrão).

  • refresh_rate (inteiro) - taxa de atualização do widget em segundos (padrão: 60).

Exemplo:

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

url

Um link para a descrição do módulo. Para widgets, este link será aberto ao clicar no ícone de ajuda na janela Adicionar widget ou Editar widget. Se url não for especificado, ao clicar no ícone de ajuda será aberta a página geral Widgets do dashboard.

Tipo: String

Exemplo:

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