Ajouter une icône au tableau de bord

Introduction

Parfois, un plugin peut avoir besoin d'afficher directement dans le tableau de bord des informations relatives à son fonctionnement. Par exemple, le plugin daInstaller ajoute une icône de couleur orange lorsque des mises à jour sont disponibles. Cette page va vous expliquer comment procéder pour arriver à ce résultat.

Ajout d'une icône de favori

Dotclear 2.3 introduit une nouvelle interface utilisateur qui laisse aux utilisateurs la possibilité de définir leurs propres icônes favorites. Voici comment un plugin peut ajouter une icône à la liste des icônes disponibles :

Dans le fichier _admin.php du plugin :

$core->addBehavior('adminDashboardFavs',array('myPluginBehaviors','dashboardFavs'));
 
class myPluginBehaviors
{
    public static function dashboardFavs($core,$favs)
    {
        $favs['myplugin'] = new ArrayObject(array(
            'myplugin',
            __('My Plugin'),
            'plugin.php?p=myplugin',
            'index.php?pf=myplugin/icon.png',
            'index.php?pf=myplugin/icon-big.png',
            'usage,contentadmin',
            null,
            null));
    }
}

Les arguments à fournir lors de l'appel à la fonction dashboardFavs() sont, dans l'ordre :

  • Identificateur du favori (sans espace, accents, …), doit être unique
  • Libellé du favori
  • URL du favori (ça peut être à peu près n'importe quoi)
  • URL de l'icône en 16x16 pixels
  • URL de l'icône en 64x64 pixels
  • Permissions (mettre null pour superadmin seulement, mettre '*' pour autoriser tout le monde)
  • id (optionnel) ajouté sur l'item du menu favori (à gauche)
  • class (optionnel) ajouté sur l'item du menu favori (à gauche)

Un plugin peut inscrire autant de favoris qu'il le souhaite. Les icônes utilisées par Dotclear sont issues d'un lot d'icônes dessiné spécialement pour Dotclear, voir le billet d'annonce de Dotclear 2.4 pour davantage d'informations.

De plus le plugin peut personnaliser le titre, la petite ou la grande icône d'un favori inscrit et affiché sur le tableau de bord. Voici comment :

Dans le fichier _admin.php du plugin :

$core->addBehavior('adminDashboardFavsIcon',array('myPluginBehaviors','dashboardFavsIcon'));
 
class myPluginBehaviors
{
    public static function dashboardFavsIcon($core,$name,$icon)
    {
        if ($name == 'myplugin')
        {
             $icon[0] = __('My plugin');
             $icon[1] = 'plugin.php?p=myplugin';
             $icon[2] = 'index.php?pf=myplugin/icon-big.png';
        }
    }
}

Les arguments fournis lors de l'appel à la fonction dashboardFavsIcon() sont, dans l'ordre :

  • Identificateur du favori (sans espace, accents, …), correspond à celui fourni lors de l'inscription
  • Un tableau contenant :
    • Le titre du favori
    • L'URL du favori
    • URL de l'icône en 64x64 pixels

Le nom du lien, l'URL et l'image peuvent être modifiées en fonction des tests ajoutés dans la fonction dashboardFavsIcon()

Liens connexes :

Le plugin adminExample montre un exemple d’utilisation de ce code.

Wiki powered by Dokuwiki.