60E60EE781604EDDB4BF61FAD1E237B9
  • Thomas Pollinger
  • 27.06.2019
  • DE

Navigation: Möglichkeiten und Verfügbarkeit

 

Allgemein

Das Template Rendering hat zwei primäre Anwendungsfälle: Content und Navigation. Für die Verwendung des Template Renderings im Kontext Navigation, stehen alle Objekte, RenderTags und ObjectLoader für den Zugriff auf Content zur Verfügung. Zusätzlich stehen dann noch alle notwendigen Objekte, RenderTags und ObjectLoader für den Zugriff auf den Index der Navigation bereit. Primär stehen für die Navigation Objekte für Indexies zur Verfügung. Ebenso ist der Zugriff auf die Eigenschaften und Methoden der verfügbaren Objekte möglich. 

Mit dem Navigation Manager legt man die Navigationsstruktur für das Projekt fest. Diese Navigationsstruktur liegt anschließend als Navigationsindex in der Datenbank des Management Server und besteht aus Index-Objekten. Beim Rendern der Navigation werden die Index-Objekte des Navigationsindex von den Navigationstemplates gerendert, welche man in den Navigationsbereichen festlegt.

In den Navigationstemplates verwendet man RenderTags und ObjectLoader, um den jeweiligen Navigationspunkt zu rendern. Mit den RenderTags und ObjectLoadern innerhalb der Navigationstemplates hat man dann Zugriff auf die Index-Objekte des Navigations-Index. Man kann damit beispielsweise abfragen, ob der aktuell gerenderte Navigationspunkt untergeordnete Index-Objekte (weitere Seiten) hat.

 

Hinweise

Quelle: OpenText Web Site Management Server Online-Hilfe

  • Der Zugriff auf den Navigations-Index ist nur im Zusammenspiel mit Content-Klassen vom Typ Masterpage möglich.
  • Über den Provider Navigation kann man Navigationsbereiche aufrufen, welche zuvor im Navigation Manager erstellt wurden.
  • Über Template Rendering wird nur auf freigegebene Inhalte einer Seite zugegriffen.
  • Lediglich dem Benutzer, in der Seitenvorschau und im SmartEdit, werden die nicht freigegebenen Inhalte angezeigt, die er selbst bearbeitet.
  • Bei der Bestimmung der abhängigen Seiten im Rahmen der Publizierung werden Seitenbeziehungen durch Template Rendering nicht berücksichtigt.
  • Wenn Seiten gerendert werden, ersetzt der Pagebuilder zunächst alle Platzhalter in den Templates durch die entsprechenden Werte und führt dann das Template Rendering aus.
  • Die Platzhalter sind für das Template Rendering transparent, d. h., lediglich die Werte der Platzhalter sind für das Template Rendering sichtbar.
  • Das Template Rendering wird (RenderTags, ObjectLoader, RenderSpots) immer nacheinander verarbeitet, auch wenn es verschachtelt implementiert wurde.
  • Um zu verhindern, dass Fehlermeldungen auf publizierten Seiten erscheinen, liefert ein fehlerhaftes Template Rendering (RenderTags, ObjectLoader, RenderSpots) keine Ausgabe.
  • Fehlermeldungen werden immer im Kontext der Komponente Navigation behandelt.
  • Alle Log-Meldungen für die Komponente Navigation (logger) werden in die allgemeine Datei wsms.log geschrieben.
  • Management Server bietet sowohl einen Seiten-Cache als auch einen Rendering-Cache.
  • Wenn man ein Element in einem Template bearbeitet, aktualisiert der Pagebuilder zunächst den Seiten-Cache und dann den Rendering-Cache.
  • Für Experten: Rekursive Abarbeitung des Navigationsindex
    Der Navigationsindex wird rekursiv durch Navigationstemplates abgearbeitet. Das bedeutet: Bei den Index-Objekten der obersten Ebene des Navigationsindexes beginnend, werden die entsprechenden Navigationstemplates aufgerufen. Anschließend werden die Templates durch das Tag navigation:nextlevel für die jeweiligen untergeordneten Index-Objekte aufgerufen.
    An welcher Position man sich innerhalb der rekursiven Abarbeitung befindet, kann man mit Context:CurrentLevelCount und  Context:CurrentDepth abfragen. Auf das aktuelle Index-Objekt, greift man mit Context:CurrentIndex zu.

 

Übersicht

Quelle: OpenText Web Site Management Server Online-Hilfe

ObjectLoader (Zugriff):
Die folgenden ObjectLoader (Provider) stehen für das Template Rendering (Zugriff) im Kontext Navigation zur Verfügung:

  • Array
    Über den ObjectLoader Array erhält man Zugriff auf die Objekte innerhalb eines Arrays, welchen man zuvor erzeugt hat.
  • Context / RDObj
    Über den ObjectLoader Context (Alias: RDObj) erhält man Zugriff auf die Objekte im Management Server.
  • Debug (deprecated / non functional / don't use it)
    Funktion und Arbeitsweise aktuell nicht näher erläutert oder bekannt.
  • Escape / RDEscape
    Über den ObjectLoader Escape (Alias: RDEscape) kann man vordefinierte Werte abfragen und Sonderzeichen codieren.
  • Navigation
    Über den ObjectLoader Navigation kann man Navigationsbereiche aufrufen, welche man zuvor im Navigation Manager erstellt hat.
  • Store / RDStore
    Über den ObjectLoader Store (Alias: RDStore) kann man auf Objekte und Variablen zugreifen, welche man zuvor definiert hat. Diesen Provider benötigt man, wenn man Schleifen verwenden möchte.
  • Social
    Über den ObjectLoader Social kann man auf Objekte und Variablen zugreifen, welche durch die TempoSocial-Integration bereitgestellt werden.


ObjectLoader (Typisierung):
Die folgenden ObjectLoader (Providerstehen für das Template Rendering (Typisierung) im Kontext Navigation zur Verfügung:

  • Boolean / Bool
    Eine Variable dieses Typs hat entweder den Wert True oder False.
  • Guid
    Eine Variable dieses Typs einen eindeutigen Bezeichner dar (Globally Unique Identifier, globaler eindeutiger Bezeichner).
  • Int32 / Int
    Eine Variable dieses Typs ist eine Zahl ohne Kommastellen. Eine Zahl dieses Typs ist mindestens -2147483648 und höchstens 2147483647.
  • String / Str / RDString
    Eine Variable dieses Typs ist eine Zeichenfolge.


RenderTags:
Die folgenden RenderTags stehen für das Template Rendering im Kontext Navigation zur Verfügung:


RenderSpots:
Die folgenden RenderSpots stehen für das Template Rendering im Kontext Navigaton zur Verfügung:


Objekte:
Die folgenden Objekte stehen für das Template Rendering im Kontext Navigation zur Verfügung:


Collections:
Die folgenden Collections stehen für das Template Rendering im Kontext Navigation zur Verfügung:

  • Standard:
    • ArrayList
  • Management Server:
    • ContentList
    • IndexList (PageIndexList)
    • PageElementList
    • TemplateElementList

 

Customizing

Es gibt auch die Möglichkeit eigene s.g. Custom RenderSpots, RenderTags oder ObjectLoader 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.

 

Gilt für

  • OpenText™ Web Site Management Server
    Release 16.0.3
  • Letztes Artikelupdate
    27.06.2019

 

Siehe auch


Über den Autor:
Thomas Pollinger

... 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.