DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


Panneau latéral

Traductions de cette page?:

Découvrir DokuWiki

Options avancées

Pour les entreprises

Notre Communautée


Suivez-nous sur Facebook, Twitter et les autres résaux sociaux.

Notre politique de confidentialité

fr:plugin:struct:devel

Extension Struct

Struct Plugin: Support développeur

L'extension Struct permet à d'autres développeurs d'extensions de s'appuyer sur ses fonctionnalités, en ajoutant des fonctionnalités supplémentaires.

Inscription de nouveaux types

L'extension signale l'événement PLUGIN_STRUCT_TYPECLASS_INIT qui peut être intercepté par l'Action Plugins. Il n'y a pas d'action par défaut. Le $data passé est un tableau associatif répertoriant les Types disponibles et leurs classes respectives. Il ressemble à ceci:

array(
    'Checkbox' => 'dokuwiki\\plugin\\struct\\types\\Checkbox',
    'Date' => 'dokuwiki\\plugin\\struct\\types\\Date',
    'DateTime' => 'dokuwiki\\plugin\\struct\\types\\DateTime',
    'Decimal' => 'dokuwiki\\plugin\\struct\\types\\Decimal',
    'Dropdown' => 'dokuwiki\\plugin\\struct\\types\\Dropdown',
    'Lookup' => 'dokuwiki\\plugin\\struct\\types\\Lookup',
    'Mail' => 'dokuwiki\\plugin\\struct\\types\\Mail',
    'Media' => 'dokuwiki\\plugin\\struct\\types\\Media',
    'Page' => 'dokuwiki\\plugin\\struct\\types\\Page',
    'Tag' => 'dokuwiki\\plugin\\struct\\types\\Tag',
    'Text' => 'dokuwiki\\plugin\\struct\\types\\Text',
    'Url' => 'dokuwiki\\plugin\\struct\\types\\Url',
    'User' => 'dokuwiki\\plugin\\struct\\types\\User',
    'Wiki' => 'dokuwiki\\plugin\\struct\\types\\Wiki',
);

Les extensions peuvent ajouter leur propre paire Typeclass à cet endroit. Le nom de la classe doit être entièrement qualifié et doit être chargé par l' Autoloader de DokuWiki. La classe doit hériter de l'AbstractBaseType ou d'une de ses sous-classes.

Veuillez vous reporter au code source des types existants pour savoir comment implémenter votre propre type.

Exemples d'extensions qui implémentent ceci: structstatus Plugin

Autoriser des clés de configuration supplémentaires

Lorsque vous écrivez une extension réalisant sa propre agrégation, vous pouvez vouloir réutiliser la classe ConfigParser. Par défaut, cette classe lance une exception lorsqu'une clé de configuration est rencontrée et qu'elle ne comprend pas. Vous pouvez gérer l'événement PLUGIN_STRUCT_CONFIGPARSER_UNKNOWNKEY et empêcher le comportement par défaut (lancement de l'exception). Vous pouvez ajouter votre propre configuration à la table config dans l'événement.

array(
  'config' => &$this->config,
  'key' => 'the unknown config key',
  'val' => 'the value for that key'
)

Exemples d'extensions qui implémentent ceci: l'extension structgantt

fr/plugin/struct/devel.txt · Dernière modification: 2017-03-28 15:35 par Digitalin