February 8, 2012, Wednesday, 38

Spezialpages

Help:

Aus Webcoachwiki

Wechseln zu: Navigation, Suche
Technische Dokumentation
Administrator - Handbuch

Zusätzliche Sonderseiten können folgendermaßen erstellt werden:

Inhaltsverzeichnis

Registrierung

  • Für jede Sonderseite gibt es eine Registrierungsseite im Verzeichnis extensions. Diese Seite muß im LocalSettings.php oder MySettings.php eingebunden werden.
 require_once('extensions/SpecialExample.php');

Registierungsseite

  • Mit dieser Seite erfolgt die Eintragung als Spezialseite.
 <?php
 $wgExtensionFunctions[] = "wfExtensionSpecialExample";
 function wfExtensionSpecialExample() {
    global $wgMessageCache;
    require_once('includes/SpecialPage.php');
    $wgMessageCache->addMessages(array('example' => 'An Example Special Page')); //will expand
    // the name 'example' above should NOT have any capital letter.
    SpecialPage::addPage( new SpecialPage( 'Example' ) );
 }
 //extension specific configuration options (like new user groups and perms) here
 ?>

Sonderseite

Die Seite selbst wird im Verzeichnis include abgespeichert. Anweisungen und HTML-Code muß in eine Funktion eingebunden sein, wobei vom System die Funktion wfspezialexample aufgerufen wird. Weitere Unterfunktionen kann es geben. Eine Ausgabe wird nur dann durchgeführt, wenn der HTML-Code dem Objekt $wgout mit der Methode addHtml übergeben wird. Das Objekt muß als gobal übernommen werden.

 function wfspecialexample()
 {
  global $wgOut;
 
  ...
 
  $wgOut->addHtml( $out );
 }

Speichern von Daten

Es ist mir endlich gelungen, die Funktion Neuer Status zum Laufen zu bringen. Stati werden im Unterschied zu Events mit einer laufenden Nummer versehen. Der Name wird also aus einer laufenden Nummer, dem Datum und dem Namen des Erstellers gebildet. Zwischen der Nummer und dem Datum sind zwei Bindestriche, zwischen dem Datum und dem Ersteller einer.

Wichtig ist, dass man nach DatenbankÄnderungen ein

$wgLoadBalancer->commitAll();

einfügen muß, damit die Datenbank auch wirklich geschrieben wird.