Date: Fri, 10 Sep 2010 13:48:45 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.4.0RC1)
X-Rcs-Id: $Id: Aide%2FPluginBonjourLeMonde 7682 2010-09-10 12:03:36Z vargenau $
Content-Type: application/x-phpwiki;
  pagename=Aide%2FPluginBonjourLeMonde;
  flags="";
  markup=2;
  charset=utf-8
Content-Transfer-Encoding: binary

Un simple exemple de plugin :

<<HelloWorld salutation="Bonjour," name="UtilisateurWiki" >>

Depuis la source de cette page :

{{{
<<HelloWorld salutation="Bonjour," name="UtilisateurWiki" >>
}}}

-----
L'architecture d'un plugin vous permet d'ajouter des éléments personnalisé à votre wiki.
Tout ce que vous avez à faire est d'étendre la classe ~WikiPlugin et créer une sortie via 
la méthode run() dépendant du Wiki- ou des arguments de requête,

* soit avec les classes HTML prédéfinis pour créer du XHTML valide
* ou en utilisant les modèles (templates) qui sont plus facilement personnalisables mais
généralement plus sale à utiliser et plus facile pour créer du XHTML non valide.

<<PhpHighlight

/**
 * A simple demonstration WikiPlugin.
 *
 * Usage:
 * <<HelloWorld> >
 * <<HelloWorld
 *          salutation="Greetings, "
 *          name=Wikimeister
 * > >
 * <<HelloWorld salutation=Hi > >
 * <<HelloWorld name=WabiSabi > >
 */

// Constants are defined before the class.
if (!defined('THE_END'))
    define('THE_END', "!");

class WikiPlugin_HelloWorld
extends WikiPlugin
{
    // Five required functions in a WikiPlugin.

    function getName () {
        return _("HelloWorld");
    }

    function getDescription () {
        return _("Simple Sample Plugin");

    }

    // Establish default values for each of this plugin's arguments.
    function getDefaultArguments() {
        return array('salutation' => "Hello,",
                     'name'       => "World");
    }

    function run($dbi, $argstr, $request) {
        extract($this->getArgs($argstr, $request));

        // Any text that is returned will not be further transformed,
        // so use html where necessary.
        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
                         THE_END);
        return $html;
    }
};
>>

----

[[CategoryPluginWiki]]
