Changes to "Plugins" between 2014-03-21 00:48:11 and 2014-03-21 03:02:52

    13     13     *  Point de vente (caisse)
    14     14     *  Import depuis un format spécifique
    15     15     *  Envoi de mails au format HTML
    16     16     
    17     17   <h3>Structure archive PHAR</h3>
    18     18   
    19     19     *  garradin_plugin.ini : informations sur le plugin
    20         -  *  www/index.php : affiché quand on clique sur le plugin
           20  +  *  www/admin/index.php (optionnel) : affiché quand on clique sur le plugin dans le menu admin (si menu=1)
    21     21     *  install.php (optionnel) : appelé lors de l'installation du plugin
    22     22     *  upgrade.php (optionnel) : appelé lors de la mise à jour du plugin, qu'elle soit une mise à jour vers une version supérieure ou inférieure (downgrade)
    23     23     *  uninstall.php (optionnel) : appelé lors de la suppression du plugin
    24     24     *  signals.php (optionnel) : appelé quand un signal enregistré est activé
    25     25     *  www/config.php (optionnel, si le plugin peut être configuré) : appelé depuis la page de configuration des plugins
    26     26     *  config.json (optionnel, si le plugin peut être configuré) : configuration par défaut du plugin
    27     27    
................................................................................
    29     29   
    30     30   <pre>
    31     31   nom="Nom du plugin"
    32     32   description="Description courte du plugin"
    33     33   auteur="Nom de l'auteur"
    34     34   url="URL du site du plugin"
    35     35   version="Numéro de version"
    36         -menu=0 ; ou 1 pour qu'une sous-entrée apparaisse dans le menu des plugins
           36  +menu=0 ; ou 1 pour qu'une sous-entrée apparaisse dans le menu des plugins sur la partie privée (admin), en ce cas le fichier www/admin/index.php est obligatoire
    37     37   config=0 ; ou 1 pour que le plugin ait une configuration personnalisable, dans ce cas il faut fournir les fichiers config.json (configuration par défaut) et config.php (modification de la configuration par l'utilisateur)
    38     38   </pre>
    39     39   
    40     40   Ces informations sont enregistrées dans la base de données de l'association
    41     41   
    42     42   <h3>Méthodes de l'objet \Garradin\Plugin</h3>
    43     43   
................................................................................
    44     44     *  __construct(string $id)
    45     45     *  setConfig(string $key, string $value) : enregistre la configuration du plugin, si $value est null alors cette clé est effacée de la configuration
    46     46     *  getConfig(string $key) : récupère la valeur de la clé $key pour la configuration du plugin
    47     47     *  getInfos() : renvoie les informations enregistrées sur le plugin
    48     48     *  upgrade() : mise à jour du plugin
    49     49     *  needsUpgrade() : le plugin doit-il être mis à jour ?
    50     50     *  uninstall() : désinstaller le plugin
           51  +  *  id() : renvoie l'identifiant du plugin
           52  +  *  path() : renvoie le chemin vers l'archive PHAR du plugin
           53  +
           54  +<h3>Dans le plugin : templates</h3>
           55  +
           56  +Garradin fournit la lib Template_Lite, déjà chargée par défaut. C'est une version allégée de Smarty 2.
           57  +
           58  +Afficher un template contenu dans le plugin :
           59  +<pre>
           60  +    $tpl->display(PLUGIN_ROOT . '/templates/index.tpl');
           61  +</pre>
           62  +
           63  +Inclure un template de Garradin depuis un template :
           64  +<pre>
           65  +    {include file="admin/_head.tpl"}
           66  +</pre>
           67  +
           68  +Inclure un template du plugin depuis un autre template du plugin :
           69  +<pre>
           70  +    {include file="`$plugin_root`/templates/_nav.tpl"}
           71  +</pre>
           72  +
           73  +Faire un lien vers une autre page du plugin :
           74  +<verbatim>
           75  +    <a href="{plugin_url file="liste.php"}">Liste des trucs</a>
           76  +</verbatim>
           77  +
           78  +Inclure une feuille de style CSS supplémentaire sur les pages du plugin (chemin relatif à la racine du plugin) :
           79  +<pre>
           80  +    $tpl->assign('plugin_css', 'styles/bleu.css');
           81  +</pre>
    51     82   
    52     83   <h2>Plugins officiels</h2>
    53     84   
    54     85   Garradin offre deux possibilités d'installer des plugins :
    55     86   
    56     87     *  simplement en copiant un fichier PHAR dans le répertoire 'plugins' de Garradin
    57     88     *  en passant par un "répertoire" officiel, sorte d'appstore des plugins Garradin