1 Date: Sat, 15 Nov 2003 17:23:27 -0500
2 Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
3 X-Rcs-Id: $Id: HalloWeltPlugin,v 1.2 2004-02-26 23:21:33 rurban Exp $
4 Content-Type: application/x-phpwiki;
5 pagename=HalloWeltPlugin;
6 pgsrc_version="2 $Revision: 1.2 $";
10 Content-Transfer-Encoding: binary
12 Ein einfaches Beispiels-Plugin.
14 <?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
16 Vom Quellcode dieser Seite:
19 <?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
23 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.
25 * Entweder man erzeugt sie über die HTML Klassen,
26 * oder über ein Template (Vorlage). Templates sind unübersichtlicher, und Verleiten zum Erzeugen von ungültigem XHTML code, sind aber leichter anpassbar.
31 * Ein einfaches Beispiels-WikiPlugin.
32 * Name, Argumente und Texte bitte auf englisch, und erst in locale/po/de.po
33 * auf Deutsch übersetzen.
36 * <?plugin HelloWorld?>
38 * salutation="Grüße, "
41 * <?plugin HelloWorld salutation=Hallo ? >
42 * <?plugin HelloWorld name=WabiSabi ? >
45 // Konstanten vor der Klasse definieren.
46 if (!defined('THE_END'))
47 define('THE_END', "!");
49 class WikiPlugin_HelloWorld
52 // Fünf notwendige Funktionen in einem WikiPlugin.
55 return _("HelloWorld");
58 function getDescription () {
59 return _("Simple Sample Plugin");
62 function getVersion() {
63 return preg_replace("/[Revision: $]/", '',
67 // Establish default values for each of this plugin's arguments.
68 function getDefaultArguments() {
69 return array('salutation' => "Hello,",
73 function run($dbi, $argstr, $request) {
74 extract($this->getArgs($argstr, $request));
76 // Any text that is returned will not be further transformed,
77 // so use html where necessary.
78 $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),