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

Ein einfaches Beispiels-Plugin.

<<HelloWorld salutation="Hallo," name="WikiUser" >>

Vom Quellcode dieser Seite:

{{{
<<HelloWorld salutation="Hallo," name="WikiUser" >>
}}}

-----
PhpWiki's Plugin Architektur erlaubt dir benutzerdefinierte HTML Elemente deinem Wiki hinzuzufügen. Du mußt nur eine neue Klasse (Unterklasse) von der ~WikiPlugin Klasse ableiten, wie mit dem Namen unterhalb, und mit der run() Methode ja nach Wiki- oder Request Argumenten die HTML Ausgabe zu erzeugen. 

* Entweder man erzeugt sie über die HTML Klassen, 
* oder über ein theme Template (Vorlage). Templates sind unübersichtlicher, und Verleiten zum 
  Erzeugen von ungültigem XHTML code, sind aber leichter anpassbar.

<<PhpHighlight

/**
 * Ein einfaches Beispiels-WikiPlugin. 
 * Name, Argumente und Texte bitte auf englisch, und erst in locale/po/de.po
 * auf Deutsch übersetzen.
 *
 * Aufruf:
 * <<HelloWorld> >
 * <<HelloWorld
 *          salutation="Grüße, "
 *          name=Wikimeister
 * > >
 * <<HelloWorld salutation=Hallo> >
 * <<HelloWorld name=WabiSabi> >
 */

// Konstanten vor der Klasse definieren.
if (!defined('THE_END'))
    define('THE_END', "!");

class WikiPlugin_HelloWorld
extends WikiPlugin
{
    // Fünf notwendige Funktionen in einem 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;
    }
};
>>

----
[[PhpWikiDokumentation]] [[KategorieWikiPlugin]]
