AllgemeinHinweiseBeispieleCustom RenderTagGilt fürSiehe auch
Im Template Rendering kann man Kontrollstrukturen verwenden. Für eine Kontrollstruktur if
kann man eine alternative Anweisung else definieren. Diese Anweisung wird dann ausgeführt, wenn die Bedingung der Kontrollstruktur if
nicht zutrifft. Die alternative Anweisung else formuliert man im innerhalb des RenderTag if
mit dem zweiten Tag query
, welches zusätzlich das Attribut type mit dem fixen Wert else bekommt.
if > query
wird nur ausgeführt, wenn die Bedingung erfüllt ist.query
mit type="else" wird dann ausgeführt, wenn die Bedingung der darüberliegenden if > query
nicht zutrifft.if > query
formuliert.if > query
hat die folgenden Attribute:
if > query
als else gibt es das folgende Attribute:
if > query
verwendet werden:
Int32/Int
verwendet werden.
Quelle: OpenText Web Site Management Server Online-Hilfe
Im folgenden Beispiel wird der RenderTag navigation:nextlevel
aufgerufen, wenn der aktuelle Index untergeordnete Index-Objekte (Seiten) hat. Andernfalls wird der Text Keine untergeordneten Seiten ausgegeben.
<reddot:cms> <if> <query valuea="Context:CurrentIndex.HasChildren()" operator="==" valueb="Bool:True"> <htmltext> <navigation:nextlevel> </htmltext> </query> <query type="else"> <htmltext> No child pages </htmltext> </query> </if> </reddot:cms>
Im nun folgenden Beispiel werden zwei Objekte miteinander verglichen:
<reddot:cms> <if> <query valuea="Context:CurrentPage.Id" operator="==" valueb="Context:CurrentMasterPage.Id"> <htmltext>Gleiche Seite</htmltext> </query> <query type="else"> <htmltext>Andere Seite</htmltext> </query> </if> </reddot:cms>
Es gibt auch die Möglichkeit, dass man den Tag query
mehrfach verwendet, innerhalb von if
:
<reddot:cms> <if> <query valuea="Context:CurrentPage.Id" operator="==" valueb="Context:CurrentMasterPage.Id"> <htmltext>Gleiche Seite</htmltext> </query> <query valuea="Context:CurrentPage.Headline" operator="==" valueb="Context:CurrentMasterPage.Headline"> <htmltext>Gleiche Überschrift</htmltext> </query> <query type="else"> <htmltext>Andere Seite oder Überschrift</htmltext> </query> </if> </reddot:cms>
Jedoch sollte es nur einen Tag query
mit dem Attribut type und dem Wert else geben.
Wichtig: Bei dieser Art der Verwendung ist, dass man ganz genau weiß welche Kombinationen möglich sind. Damit man sich über das Verhalten und die möglichen Ergebnisse nicht wundert.
Es gibt auch die Möglichkeit eigene s.g. Custom RenderTags mit .NET Framework zu erstellen und dann beim Template Rendering aufzurufen. Dazu findet man im OpenText™ Developer Network Beispiel Code und eine ausführliche Anleitung.
... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.
Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.