Englisch: |
PmWikiDe /
Seiten-Text-Variablen
Autoren (Fortgeschrittene)
Seiten-Text-Variablen sind Stringvariablen, die in dem Wikitext einer Seite erzeugt werden. Sie werden automatisch auch anderen Seiten zugänglich gemacht, so dass sie dort verwendet werden können. Definition von Seiten-Text-VariablenEs gibt drei Wege, Seiten-Text-Variablen zu definieren (weitere Muster (englische Beschreibung) können bei Bedarf definiert werden):
Das erzeugt in der Seite eine neue Variable, auf die mit {$:Name} (wird zu "Crisses") zugegriffen werden kann.
Das erzeugt in der Seite die {$:Adresse} -Variable (Variablen-Markup wird zu "1313 Mockingbird Lane").
Das erzeugt in der Seite die {$:Land} -Variable (Variablen-Markup wird zu "Transylvania ").
Standardwerte zum Leeren oder Zurücksetzen von SeitentextvariablenWenn eine Seitentextvariable nicht in einer Seite definiert wurde oder wenn der Besucher der Seite kein Leserecht für die Seite hat, die die Variablendefinition enthält, gibt das Markup für den Zugriff auf die Variable wie Ein Administrator kann einen Standardwert für solche Fälle definieren (PmWiki 2.2.121+). Das folgende Array kann in der local/config.php-Datei definiert werden: $DefaultUnsetPageTextVars = array( 'SpezifischeVariable' => 'SpezifischeVariable is unset', '*PartialMatch*' => 'some value', '*' => '(unset)', ); $DefaultEmptyPageTextVars = array( 'SpezifischeVariable' => 'SpezifischeVariable is set, but empty', '*' => '(empty)', ); In dem obigen Beispiel geben die
Die Muster werden der Reihe nach abgeglichen und die erste Übereinstimmung bestimmt den Wert, der der Variablen zugewiesen wird. Der Stern VerwendungVerwendung auf der gleichen SeiteAuf der gleichen Seite können Sie die Seiten-Text-Variable einfach durch das Verwendung in Headern und Footern: besondere VerweiseWenn Sie aus einem GroupHeader, GroupFooter, einer SideBar, etc. heraus eine Seiten-Text-Variable der Hauptseite aufrufen möchten, müssen Sie besondere Verweisinformationen einschließen.
Um ausdrücklich die Seiten-Text-Variable der dargestellten Hauptseite aufzurufen, stellen Sie dem Markup für die Seiten-Text-Variablen ein Sternchen voran:
Um in der Hauptseite eine Variable aus dem Header oder Footer aufzurufen, siehe unten (Verwendung anderer Seiten). Besondere Verweise wirken auch auf Seitenspezifische Variablen und Seitenlistenvorlagen.
Verwendung anderer SeitenWenn Sie Daten aus einer anderen Seiten herausziehen wollen, verwenden Sie das
Verwendung auf eingebundenen Seiten (included pages)Seiten-Text-Variablen werden niemals zusammen mit ihrem Quelltext eingebunden. Siehe Verwendung anderer Seiten oben, um auf Seiten-Text-Variablen aus anderen Seiten zu verweisen. Verwendung mit SeitenlistenAuch Seitenlisten können auf die Seiten-Text-Variablen zugreifen:
Und um Seitenlisten zu erzeugen ( wie die in Site.Page List Templates, Seitenlisten, Seitenlistenvorlagen, Seitenspezifische Variablen beschriebenen), speichern Sie angepasste Seitenlisten in |Site.Local Templates|. Seitenlisten können Seiten-Text-Variablen nutzen, um Seiten auszuwählen:
listet Seiten auf, die '$:City' auf 'Paris' gesetzt haben.
'Anführungszeichen' müssen die ganze Auswahl umschließen.
Der Seiten-Text-Variablen-Wert ist immer der Text, der in die Seite geschrieben wurde. Der wird erst ausgewertet, wenn die Variable gedruckt/ausgegeben wird als HTML. Beim Sortieren nach einer Seiten-Text-Variablen sind all die Werte in allen Seiten die noch nicht ausgewerteten Text-Strings und die Seitenlisten-Sortierfunktion tut was sie kann damit. Sie wertet den Text an dieser Stelle nicht aus. Z. B. ist es mit einem Seitennamen in der Form "jjjjMonat" einfacher, eine $FmtPV['$NameToYearMonth'] = '[[PmWikiDe/Functions#PSFT|PSFT]]("[=%Y%m=]", strtotime($name))'; # siehe $FmtPV und PSFT
Benutzen Sie dann Alternativ schreiben Sie in die Wikiseite: (:MonthNum:07:)
da der folgende Markup-Ausdruck nicht funktionieren wird: (:MonthNum:{(ftime fmt=%m when="{$Namespaced}")}:)
Prüfen auf gesetzt oder nichtSTV = Seiten-Text-Variable
Tip :
Verwendung von Seiten-Text-Variablen in einer Vorlage (Template)Zeige Seiten an, sortiert nach Zielgruppen-(Audience)-Seiten-Text-Variable
Verwendung von Seiten-Text-Variablen in bedingten TextauszeichnungenSeiten-Text-Variablen (STV) werden zugewiesen/ausgewertet, bevor irgendeine bedingte Textauszeichnung ausgewertet wird. Das bedeutet effektiv, dass Sie keine STV innerhalb einer if...else-Bedingung deklarieren können; und ebenso, dass eine STV einen Wert hat, selbst wenn sie in einer Verwendung innerhalb von Kode (nur für Entwickler)Die Standard- $var=PageVar($pagename,'$:City')
Das funktioniert, indem sie alle Seiten-(Text-)Variablen, die sie in einer Seite findet, zwischenspeichert (in Übersetzung von PmWiki.PageTextVariables, Originalseite auf PmWikiDe.PageTextVariables — Backlinks
|