|
|
|
Englisch: 20 von 75856 Zugriffen |
PmWikiDe /
Seitenspezifische Variablen
Autoren (Fortgeschritten), Administratoren (FTP)
Diese Seite beschreibt die "Variablen", die im Zusammenhang mit den Seiten stehen. Seiten-Variablen haben das Format Anmerkung: Verwechseln Sie diese Variablen (die nur in Wikiseiten gesetzt und benutzt werden) nicht mit PHP-Variablen. Seitenspezifische Variablen können in PHP mit der PageVar()-Funktion gelesen werden. Beachten Sie, dass diese Variablen nicht notwendigerweise in PHP-Kode existieren, da sie für Wikiseiten bestimmt sind (immerhin kann man sie in FmtPageName-Strings nutzen). Es ist auch möglich Variablen von anderen Seiten anzuzeigen. Dazu stellt man einfach den Seitennamen voran: Standard-Seiten-VariablenIn der linken Spalte steht der Name der Variablen, in der rechten Spalte steht der Wert dieser Variablen für diese Seite: PmWikiDe.PageVariables Standard-Gruppe und -Seite sowie Site-Gruppe
Beachten Sie hierzu auch die Ausführungen zu $PagePathFmt , womit man die Startseite für eine Gruppe setzt.
Gruppe, in der sich die Seite befindet
Seitenname
Basisname der Seite (befreit von vorangestellten oder angehängten Zusätzen, die in $BaseNamePattern definiert wurden
Titel der Website
Seitentitel
Beschreibung der Seite, die in dem
Hinweis: In der deutschen Dokumentation ist (zusätzlich) ein (:Summary:) -Markup, eingefügt (siehe PageTextVariables), das so aufgerufen wird:
Datum und Zeit der letzten Änderung, das Format ist in
Datum und Zeit der letzten Änderung im Unix-Zeitstempel-Format (Sekunden seit 1. Jan. 1970, 00:00 Uhr)
Letzter Autor der Seite
IP des letzten Autors, erscheint anstelle des Autors, wenn beim Speichern kein Name angegeben wird
Beim letzten Speichern angegebene Zusammenfassung
URL der Seite
In der URL angeforderten Seite, wird von Site.PageNotFound benutzt
gerade ausgeführte Aktion (browse, edit, attr, print, ...)
Lese-, Bearbeiten- und Attribute-Berechtigung der Seite
Gruppen für 'Site' und 'SiteAdmin'
Der Name der Person, die aktuell mit der Site interagiert (das ist nicht notgedrungen der Autor der Seite, siehe $LastModifiedBy)
Die aktuell authentifizierte ID
Beachten Sie das kleine 'd' in $AuthId
Aktuell installierte Version von PmWiki und die interne Versionsnummer
Die URL des pmwiki.php-Skripts
Spezielle VerweiseVariablen mit einem speziellen Verweismechanismus werden eingesetzt, um die Umgebung der Variablen näher zu bestimmen, wenn
Stellt man der Variable ein Sternchen (*) voran, heißt das, der Wert der Variable bezieht sich auf die Zielseite oder die aktuell angezeigte Hauptseite, sonst bezieht sie sich auf die eingefügte Seite.
Siehe auch $EnableRelativePageVars
Diese speziellen Verweise werden auch beim Erstellen von Seiten-Text-Variablen und Seitenlistenvorlagen verwendet.
Sie können z. B. testen und sichtbar machen, ob eine Seite Teil einer anderen Seite ist, ...
... oder Bezug nimmt auf die Hauptseite in einer Sidebar, einem Footer oder einem Header
Seiten-Variablen-Sicherheit ($authpage)Die Form Wenn die anderen, die aufgerufenen, Seiten passwortgeschützt sind und der Besucher hat keine Leseberechtigung, zeigen die Variablen dennoch normalerweise ihren Wert an, anders als die Seiten-Text-Variablen. Während die meisten Variablen keine sensiblen Informationen enthalten, könnten einige Variablen doch welche enthalten: $Title, $Description und jene, die mit $LastModified beginnen. Administratoren und Modulentwickler können die sensiblen Seiten-Variablen redifinieren, damit sie die Authentifikation berücksichtigen, indem sie die Variable "$authpage" anstelle von "$page" in der Definition verwenden. Der folgende Schnipsel kann in local/config.php hinzugefügt werden — er überschreibt die möglicherweise sensiblen Definitionen mit den sicheren: foreach($FmtPV as $k=>$v) { if(preg_match('/^\\$(Title(spaced)?|LastModified(By|Host|Summary|Time)?|Description)$/', $k)) $FmtPV[$k] = str_replace('$page', '$authpage', $v); } Eigene VariablenSie können benutzerdefinierte Seiten-Variablen als lokale Anpassung hinzufügen. In einer lokalen Konfigurationsdatei (local/config.php) oder in Rezepten aus dem Kochbuch, können diese festgelegt werden. Verwenden Sie dazu die Variable $FmtPV['$VarName'] = "'Definition der Variable'"; $FmtPV['$CurrentSkin'] = '$GLOBALS["Skin"]'; $FmtPV['$WikiTitle'] = '$GLOBALS["WikiTitle"]'; Dies definiert eine neue Seiten-Variable namens $CurrentSkin, die in der Seite benutzt werden kann mittels Sie machen eine Zeichenkette zu einer Seiten-Variable, indem Sie sie zum $GLOBALS()-Array hinzufügen. ## Erstellen einer {$BaseUrl}-Seiten-Variable $GLOBALS['BaseUrl'] = $UrlScheme."://".$_SERVER["HTTP_HOST"]."/Wiki"; $FmtPV['$BaseUrl'] = '$GLOBALS["BaseUrl"]'; Sie können die Seiten-Variable auch durch eine Funktion erstellen lassen. ## Erstellen einer {$BaseUrl}-Seiten-Variable function BaseUrl() { global $UrlScheme; return $UrlScheme."://".$_SERVER['HTTP_HOST']."/Wiki"; } $FmtPV['$BaseUrl'] = 'BaseUrl()'; Bitte beachten Sie, dass Werte der Elemente von $FmtPV['$Var'] = $_REQUEST['Var']; # höchst unsicher, erlaubt PHP-Kode-Injektion
$FmtPV['$Var'] = '"'. addslashes($_REQUEST['Var']) . '"'; # höchst unsicher, erlaubt PHP-Kode-Injektion
Siehe im Rezept Cookbook:HttpVariables nach einem besseren Weg, diese Variablen zu nutzen. siehe auch:
Im Kochbuch auf PmWiki.org
Gibt es eine Variable wie $LastModified, die aber die Erstellungszeit anzeigt? Nein, aber Sie können eine in config.php erzeugen. Zum Beispiel: # add page variable {$PageCreationDate} in format yyyy-mm-dd $FmtPV['$PageCreationDate'] = 'strftime("%Y-%m-%d", $page["ctime"])'; Wenn Sie lieber das in config.php definierte Format erhalten möchten, benutzen Sie: $FmtPV['$Created'] = "strftime(\$GLOBALS['TimeFmt'], \$page['ctime'])"; Wie kann ich testen, ob ein Variable gesetzt ist und/oder nicht leer? Benutzen Sie Categories: PmWiki Developer Übersetzung von PmWiki.PageVariables, Originalseite auf PmWikiDe.PageVariables — Rückverweise
|