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.
Es gibt drei Wege, Seiten-Text-Variablen zu definieren:
:Name: Crisses "{$:Name}" |
"Crisses" |
{$:Name}
(wird zu "Crisses") zugegriffen werden kann.
Adresse: 1313 Mockingbird Lane "{$:Adresse}" | Adresse: 1313 Mockingbird Lane "1313 Mockingbird Lane" |
{$:Adresse}
-Variable (Variablen-Markup wird zu "1313 Mockingbird Lane").
(:Land: Transylvania :) "{$:Land}" | "Transylvania " |
{$:Land}
-Variable (Variablen-Markup wird zu "Transylvania ").
Auf der gleichen Seite können Sie die Seiten-Text-Variable einfach durch das {$:Var}
-Format auflösen (wie oben gezeigt).
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} | Transylvania |
Um in der Hauptseite eine Variable aus dem Header oder Footer aufzurufen, siehe unten (usage from other pages).
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"
|
Seiten-Text-Variablen werden niemals zusammen mit ihrem Quelltext eingebunden. Siehe Verwendung auf anderen Seiten oben, um auf Seiten-Text-Variablen aus anderen Seiten zu verweisen.
Auch PageLists 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, Page Lists, Page List Templates, Page Variables beschriebenen), speichern Sie angepasste Seitenlisten in Site.Local Templates?.
PageLists 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:) |
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:) |
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:) | Grundlagen:
Formular Element:
Entwickler, Administratoren:
SecurityVariables DebugVariables Entwickler und Administratoren:
FlatFileAdvantages UpdatePage PageLocking HierarchicalGroups Autoren, Administratoren :
|
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.
Die Standard-PageVar($pagename,$varname)
-Function kann Seiten-Text-Variablen zurückgeben, aber denken Sie daran, Dollarzeichen und Doppelpunkt hinzuzufügen wie hier;
$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.