Seiten-Text-Variablen
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. Seiten-Text-Variable können nur einen Namen haben, der einfache Latin/Roman-(ASCII)-Zeichen, Ziffern, Bindestriche und Unterstriche enthält. Das ist eine Einschränkung für internationale Wikis (experimentelle Rezepte für internationale STV: Cookbook:InternationalPTVs).
Definition von Seiten-Text-Variablen
Es gibt drei Wege, Seiten-Text-Variablen zu definieren:
- Verwenden Sie eine Definitionsliste - das normalen Wiki-Markup für eine Definitionsliste erzeugt eine Seiten-Text-Variable.
:Name: Crisses "{$:Name}" |
"Crisses" |
{$:Name}
(wird zu "Crisses") zugegriffen werden kann.
- Verwenden Sie einen einfachen Doppelpunkt als Trenner in einem normalen Text.
Adresse: 1313 Mockingbird Lane "{$:Adresse}" | Adresse: 1313 Mockingbird Lane "1313 Mockingbird Lane" |
{$:Adresse}
-Variable (Variablen-Markup wird zu "1313 Mockingbird Lane").
- Verwenden Sie ein verstecktes Direktiven-Form - PmWiki-Markup, das nicht auf der Seite erscheint, dennoch eine Variable definiert.
(:Land: Transylvania :) "{$:Land}" | "Transylvania " |
{$:Land}
-Variable (Variablen-Markup wird zu "Transylvania ").
Verwendung
Verwendung auf der gleichen Seite
Auf der gleichen Seite können Sie die Seiten-Text-Variable einfach durch das {$:Var}
-Format auflösen (wie oben gezeigt).
Verwendung in Headern und Footern: besondere Verweise
Wenn 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: {*$:Adresse}
in der GroupFooter- oder GroupHeader-Seite.
{*$:Land}\\ {{*$Group}/PmWiki$:Summary} | Transylvania |
Um in der Hauptseite eine Variable aus dem Header oder Footer aufzurufen, siehe unten (Verwendung anderer Seiten).
Verwendung anderer Seiten
Wenn Sie Daten aus einer anderen Seiten herausziehen wollen, verwenden Sie das {Group/PageName$:Var}
-Format.
Suburb: Khandallah (:Lake:Taupo:) :Mountain:Mt Ruapehu ->"{PageTextVariables$:Suburb}" ->"{{$FullName}$:Lake}" ->"{PmWikiDe/PageTextVariables$:Mountain}" | Suburb: Khandallah
"Khandallah"
"Taupo"
"Mt Ruapehu"
|
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 Seitenlisten
Auch Seitenlisten können auf die Seiten-Text-Variablen zugreifen:
(:pagelist group=PmWikiDe order=$:Summary count=6 fmt=#simple:) |
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:
(:pagelist group=PmWiki $:City=Paris count=8 fmt=#simple order=-name:) |
(:pagelist group=PmWiki $:City="Addis Abeba,Paris" order=-$:Version count=8 fmt=#simple:) |
- Wenn Sie Seiten-Text-Variablen zum Auswählen oder Sortieren nutzen, setzen Sie keine geschweiften Klammern um den Variablennamen. Die geschweifte Form nimmt eine Ersetzung vor bevor das Seitenlisten-Kommando ausgewertet wird.
- Verweisquelltext innerhalb des Inhalts einer versteckten Seiten-Text-Variablen (im Gegensatz zu den anderen Arten, STVn anzugeben), wird nicht als Verweis in der Seite verwahrt. Dadurch wird der Verweis nicht sichtbar durch die Seitenlistenoption 'link='. Wenn Sie den Verweis durch 'link=' angezeigt bekommen wollen, dürfen Sie im Quelltext keine Direktive benutzen, um die Variable anzulegen, oder setzen Sie den Verweis in die Seite und verbergen Sie ihn ggf. durch eine false-Bedingung:
(:Linkme: [[PageToLink]]:) (:if false:){$:Linkme}(:if:)
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.
Prüfen auf gesetzt oder nicht
STV = Seiten-Text-Variable
=- | STV ist gesetzt (ist nicht leer), z. B. (:pagelist $:Var=- :) |
=-?* | STV ist nicht gesetzt (ist leer), d. h. nicht ein Zeichen gefolgt von 0 oder mehr Zeichen, z. B. (:pagelist $:Var=-?* :) |
=* | zeige alle Seiten, unabhängig von der Seiten-Text-Variablen (langsam) |
=-* | zeige keine Seiten, unabhängig von der Seiten-Text-Variablen (langsam) |
Tip : (:if ! equal "{$:STV}" "":)
testet, ob STV leer bzw. nicht gesetzt ist oder nicht.
(:pagelist group=PmWikiDe $:Summary=-?* count=6 fmt=#simple:) |
Verwendung von Seiten-Text-Variablen in einer Vorlage (Template)
Zeige Seiten an, sortiert nach Zielgruppen-(Audience)-Seiten-Text-Variable
>>comment<< [[#byaudience]] (:if ! equal '{=$:Audience}' '{<$:Audience}':) -<'''{=$:Audience}''': (:ifend:) [[{=$Name}]] [[#byaudienceend]] >><< (:pagelist group=PmWikiDe count=10 fmt=#byaudience order=-$:Audience:) | Übersetzer:
Grundlagen:
WikiAdministrator Contributors WikiWikiWeb WikiPage References WikiElements PmWiki Audiences WikiWord |
Verwendung von Seiten-Text-Variablen in bedingten Textauszeichnungen
Seiten-Text-Variablen 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 (:if false:)....(:if:)
-Bedingung gesetzt wurde.
Verwendung innerhalb von Kode (nur für Entwickler)
Die Standard-PageVar(
-Function kann Seiten-Text-Variablen zurückgeben, aber denken Sie daran, Dollarzeichen und Doppelpunkt hinzuzufügen wie hier:
$pagename
,$varname)
$var=PageVar($pagename
,'$:City')
Das funktioniert, indem sie alle Seiten-(Text-)Variablen, die sie in einer Seite findet, zwischenspeichert (in $PChache
) und die Verlangte zurückgibt.
Übersetzung von PmWiki.PageTextVariables, Originalseite auf PmWikiDe.PageTextVariables — Rückverweise
Zuletzt geändert: | PmWikiDe.PageTextVariables | am 03.08.2016 |
PmWiki.PageTextVariables | am 30.10.2019 |