This is a translation of the original English documentation page. Help us make it better.

manifest.json

Elke module heeft het bestand manifest.json nodig. Het bestand moet zich in de primaire map van de module bevinden (ui/modules/module_name/manifest.json).

Als een absoluut minimum moet manifest.json deze velden bevatten:

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

Ondersteunde parameters in manifest.json (druk op de parameternaam voor een gedetailleerde beschrijving):

Parameter Beschrijving Vereist
manifest_version Manifestversie van de module. Ja
id UniekID van de module.
name Modulenaam die wordt weergegeven in de sectie beheer.
namespace PHP-namespace voor moduleklassen.
version Module versie.
type Type van de module. Voor widget moet worden ingesteld op widget. Ja voor widgets, anders nee.
widget Widget configuratie. Alleen gebruikt bij widgets.
actions Acties om te registreren bij de module.
assets CSS-stijlen en JavaScript-bestanden. Nee
author Module auteur.
config Standaardwaarden voor aangepaste module-opties.
description Module omschrijving.
url Een link naar de module omschrijving.

manifest_version

Manifestversie van de module. Momenteel is de ondersteunde versie 2.0.

Type: Double

Voorbeeld:

"manifest_version": 2.0

id

Module-ID moet uniek zijn. Om toekomstige naamgevingsconflicten te voorkomen, wordt aanbevolen om een voorvoegsel voor modules te gebruiken (auteurs- of bedrijfsnaam, of een andere). Voorbeeld, Als een module een voorbeeld is voor lessen en de modulenaam is "Mijn module", dan is de ID "voorbeeld_mijn_module".

Type: String

Voorbeeld:

"id": "voorbeeld_mijn_module"

name

Modulenaam die wordt weergegeven in het gedeelte Beheer.

Type: String

Voorbeeld:

"name": "Mijn module"

namespace

PHP-naamruimte voor moduleklassen.

Type: String

Voorbeeld:

"namespace": "ClockWidget"

version

Moduleversie. De versie wordt weergegeven in het gedeelte Beheer.

Type: string

Voorbeeld:

"version": "1.0"

type

Soort van de module. Voor een Widget dient deze "widget" te bevatten.

Type: string

Standaard: "module"

Voorbeeld:

"type": "widget"

Acties

Acties om te registreren bij de module. Het definiëren van een class-object element voor elke actie is vereist, andere actie elementen zijn optioneel.

Type: Object

Ondersteunde type module object elementen zijn:

  • eigen.actie.naam (object) - actienaam, moet worden geschreven in kleine letters [a-z], woorden scheidend met punten. Ondersteunde elementen:
    • class (string; vereist) - naam actieklasse.
    • layout (string) - actielay-out. Ondersteunde waarden: layout.json, layout.htmlpage (standaard), null.
    • view (string) - actieweergave.

Voorbeeld:

"actions": {
           "module.example.list": {
               "class": "examplelist",
               "view": "voorbeeld.lijst",
               "layout": "layout.htmlpage"
               }
           }

Ondersteunde type widget object elementen zijn:

  • widget.{id}.view (object) - bestands- en klassenaam voor widgetweergave. Vervang {id} door de id waarde van de widget (bijvoorbeeld widget.example_clock.view). Ondersteunde elementen:
    • class (string; Vereist) - actieklassenaam voor widgetweergavemodus om de standaard CControllerDashboardWidgetView-klasse uit te breiden. Het klassenbronbestand moet zich in de map actions bevinden.
    • view (string) - widgetweergave. Moet zich in de map views bevinden. Als het weergavebestand widget.view.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Als u een andere naam gebruikt, geeft u deze hier op.
  • widget.{id}.edit (object) - bestandsnaam voor widgetconfiguratieweergave. Vervang {id} door de id waarde van de widget (bijvoorbeeld widget.example_clock.edit). Ondersteunde elementen:
    • class (string; Vereist) - actieklassenaam voor weergavemodus widgetconfiguratie. Het klassenbronbestand moet zich in de map actions bevinden.
    • view (string) - widgetconfiguratieweergave. Moet zich in de map views bevinden. Als het weergavebestand widget.edit.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Als u een andere naam gebruikt, geeft u deze hier op.

Voorbeeld:

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

assets

CSS-stijlen en JavaScript-bestanden.

Type: Object

Ondersteunde object elementen:

  • css (array) - CSS-bestanden om op te nemen. De bestanden moeten zich bevinden in assets/css.
  • js (array) - JavaScript-bestanden om op te nemen. De bestanden moeten zich bevinden in assets/js.

Voorbeeld:

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

auteur

Module auteur. De auteur wordt weergegeven in het gedeelte Beheer.

Type: String

Voorbeeld:

"author": "John Smith"

configuratie

Standaardwaarden voor de module-opties. Het object kan alle aangepaste sleutels bevatten. Indien opgegeven, worden deze waarden tijdens de moduleregistratie in de database geschreven. Nieuwe variabelen die later worden toegevoegd, worden bij de eerste aanroep geschreven. Daarna kunnen de variabele waarden alleen rechtstreeks in de database worden gewijzigd.

Type: Object

Voorbeeld:

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

beschrijving

Modulebeschrijving.

Type: String

Voorbeeld:

"description": "Dit is een klokwidget."

widget

Widget-configuratie. Wordt gebruikt als type is ingesteld op widget.

Type: Object

Ondersteunde object elementen: - name (string) - Gebruikt in de widgetlijst en als standaardkop. Indien leeg, wordt de "name" parameter van de module gebruikt. - template_support (boolean) - Bepaalt of de widget beschikbaar moet zijn in sjabloon dashboards. Ondersteunde waarden: true, false (standaard). - size (object) - Standaard widgetafmetingen. Ondersteunde waarden: - width (integer) - Standaard widgetbreedte. - height (integer) - Standaard widgethoogte. - form_class (string) - Klasse met het formulier voor widgetvelden. Moet zich bevinden in de includes map. Als de klasse WidgetForm.php is, wat standaard wordt verwacht, kan deze parameter worden weggelaten. Indien een andere naam wordt gebruikt, specificeer deze dan hier.

  • js_class (string) - Naam van een JavaScript-klasse voor de weergavemodus van de widget om de standaard CWidget-klasse uit te breiden. De klasse wordt geladen met het dashboard. Het bronbestand van de klasse moet zich bevinden in de assets/js-map. Zie ook: assets.

  • use_time_selector (boolean) - Bepaalt of de widget de tijdsselector van het dashboard vereist. Ondersteunde waarden: true, false (standaard).

  • refresh_rate (integer) - Verversingssnelheid van de widget in seconden (standaard: 60).

Voorbeeld:

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

url

Een link naar de modulebeschrijving.

Type: String

Voorbeeld:

"url": "http://voorbeeld.com"