Date: Mon, 29 Jun 2015 12:04:27 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.5.4)
Content-Type: application/x-phpwiki;
  pagename=Hilfe%2FHalloWeltPlugin;
  flags="";
  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::samp(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
                         THE_END);
        return $html;
    }
};
>>

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