Die if
-Anweisung wird durch die [[!iki plugins/conditional
desc=conditional]]-Erweiterung bereitgestellt.
Mit dieser Anweisung kann die Anzeige von Text an bestimmte Bedingungen
geknüpft werden. Zum Beispiel:
\[[!if test="enabled(smiley)"
then="Die smiley-Erweiterung ist aktiviert :-)"
else="Hier gibt es keine smiley-Erweiterung …"]]
Wenn der angegebene test
erfolgreich ist, wird der then
-Text angezeigt,
sonst der else
-Text. Der else
-Teil ist optional.
Die Werte für then
und else
können beliebige Formatierungsanweisungen
enthalten, die außerhalb der Anweisung erlaubt wären. Werten die Werte durch
dreifache Anführungszeichen abgetrennt, können sie sogar Anführungszeichen
enthalten.
Der test
ist eine [[ikiwiki/PageSpec]]; wenn sie auf irgendeine Seite im
Wiki passt, hat der Test Erfolg. Dadurch kann man die Existenz einer oder
mehrerer Seiten überprüfen, überprüfen ob in einem bestimmten Monat Seiten
angelegt wurden, und so weiter.
Wenn die [[ikiwiki/PageSpec]] nur auf die aktuelle Seite angewendet werden
soll, die die Bedingung enthält (und nicht auf alle Seiten im Wiki), kann
der optionale all
-Parameter auf no
gesetzt werden.
In einer if
-Anweisung sind neben der regulären [[ikiwiki/PageSpec]]-Syntax
die folgenden zusätzlichen Test verfügbar:
-
enabled(plugin)
Prüft, ob die angegebene Erweiterung aktiviert ist.
-
sourcepage(glob)
Prüft, ob das angegebene Muster auf den Namen der Seite passt, die die
Bedingung enthält.
-
destpage(glob)
Prüft, ob das Muster auf den namen der Seite passt, die gerade erzeugt
wird. Dies kann ein anderer Name sein als der der Seite, die die Bedingung
enthält, wenn diese über [[inline]] in eine andere Seite eingebunden wird.
-
included()
Prüft, ob die Seite gerade in eine andere eingebunden wird.
[[!meta robots="noindex, follow"]]