====== Création d'une page d'administration d'un plugin ====== ===== Structure minimale ===== ==== _admin.php ==== La page doit être déclarée dans le fichier ''_admin.php'' du plugin : if (!defined('DC_CONTEXT_ADMIN')) {return;} global $core; # ajouter le plugin dans la liste des plugins du menu de l'administration $_menu['Plugins']->addItem( # nom du lien (en anglais) __('Example'), # URL de base de la page d'administration 'plugin.php?p=example', # URL de l'image utilisée comme icône 'index.php?pf=example/icon.png', # expression régulière de l'URL de la page d'administration preg_match('/plugin.php\?p=example(&.*)?$/', $_SERVER['REQUEST_URI']), # persmissions nécessaires pour afficher le lien $core->auth->check('usage,contentadmin',$core->blog->id)); Dans le code ci-dessus, remplacez ''example'' par le nom du répertoire du plugin. L'icône doit mesurer environ 16×16 pixels, vous pouvez en trouver une dans le pack [[http://www.famfamfam.com/lab/icons/silk/|Silk Icons]]. Un lien vers la page d'administration apparaît dans le sous-menu Extensions de la page d'administration : {{:2.0:resources:plugins:admin:menu_item.png|}} Outre le fait que le plugin dispose de permissions générales dans le fichier [[public-page#le-fichier-_define.php|_define.php]], il peut être parfois nécessaire de restreindre l'accès à la page de configuration à quelques utilisateurs. Pour cela, il suffit d'ajouter en début de fichier après la ligne if (!defined('DC_CONTEXT_ADMIN')) {return;} if (!$core->auth->isSuperAdmin()) {return;} Il est bien sur possible d'adapter ce code à la prise en compte de permission particulière avec la fonction ''check()'' de la classe ''dcAuth'' ==== index.php ==== Voici la structure de base du fichier ''index.php'', notez que la balise '''' n'a aucun attribut, c'est Dotclear qui les ajoute lors de l'affichage. <?php echo(__('Example')); ?>

blog->name).' › '. __('Example'); ?>

Voici le résultat : {{:2.0:resources:plugins:admin:page.png?300|}} ===== Télécharger un plugin exemple ===== Le plugin suivant montre quelques exemples d'utilisation de codes décrits dans cette documentation : [[http://lab.dotclear.org/raw-attachment/wiki/plugin/adminExample/plugin-adminExample.zip|plugin-adminExample.zip]] ===== Personnaliser cette page ===== {{{pagetoc .:admin:tabs .:admin:message .:admin:columns .:admin:forms .:admin:example .:help }}}