ZMSContainerObject ist die abstrakte Basisklasse von der alle ZMS-Container (ZMSRubrik, ZMSDocument) und spezielle Objekte abgeleitet werden.
ZMSContainerObject.filteredChildNodes(REQUEST, meta_types=None)
BESCHREIBUNG:
Gibt für das aktuelle Objekt eine sortierte Liste aller sichtbaren (->isVisible) Unterobjekte vom spezifizierten Metatyp zurück.
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
meta_types[list|string]: Metatyp der Unterobjekte (optional); dieser kann eine Liste von meta_types, die Meta-ID eines spez. Objekts oder eins der Schlüsselwörter PAGES oder PAGEELEMENTS sein.
AUSGABE-PARAMETER:
nodes[list]: Liste von Objekten
| [1] |
Liste aller sichtbaren Unterobjekte des aktuellen Objekts:
filteredChildNodes(REQUEST) |
| [2] |
Liste aller sichtbaren Unterobjekte vom Typ ZMSTextarea oder ZMSDocument des aktuellen Objekts:
filteredChildNodes(REQUEST,['ZMSTextarea','ZMSDocument']) |
| [3] |
Liste aller sichtbaren Unterobjekte vom Typ PAGE (ZMSRubrik, ZMSDocument, etc.) des aktuellen Objekts:
filteredChildNodes(REQUEST,PAGES) |
| [4] |
Komma-getrennte Liste der IDs aller sichtbaren Unterobjekte vom Typ PAGE:
<dtml-in "filteredChildNodes(REQUEST,PAGES)"> <dtml-var id> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
| [5] |
alternativ zu filteredChildNodes(REQUEST,PAGES) liefert getIndexNavElements(REQUEST) nur die Unterdokumente (Standdard- und Spezielle Dokumente), nicht aber die Unterrubriken; Beispiel für eine Komma-getrennte Liste der Kurztitel aller Unterdokumente:
<dtml-in "getIndexNavElements(REQUEST)"> <dtml-var "getTitlealt(REQUEST)"> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
| [6] |
Liste aller sichtbaren Unterobjekte des aktuellen Objekts:
filteredChildNodes(REQUEST) |
| [7] |
Liste aller sichtbaren Unterobjekte vom Typ ZMSTextarea oder ZMSDocument des aktuellen Objekts:
filteredChildNodes(REQUEST,['ZMSTextarea','ZMSDocument']) |
| [8] |
Liste aller sichtbaren Unterobjekte vom Typ PAGE (ZMSRubrik, ZMSDocument, etc.) des aktuellen Objekts:
filteredChildNodes(REQUEST,PAGES) |
| [9] |
Komma-getrennte Liste der IDs aller sichtbaren Unterobjekte vom Typ PAGE:
<dtml-in "filteredChildNodes(REQUEST,PAGES)"> <dtml-var id> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
| [10] |
alternativ zu filteredChildNodes(REQUEST,PAGES) liefert getIndexNavElements(REQUEST) nur die Unterdokumente (Standdard- und Spezielle Dokumente), nicht aber die Unterrubriken; Beispiel für eine Komma-getrennte Liste der Kurztitel aller Unterdokumente:
<dtml-in "getIndexNavElements(REQUEST)"> <dtml-var "getTitlealt(REQUEST)"> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
ZMSContainerObject.filteredTreeNodes(REQUEST, meta_types, order_by=None, order_dir="asc", max_len=None)
BESCHREIBUNG:
Durchsucht für das aktuelle Objekt den kompletten Unterbaum nach Objekten vom spezifizierten Metatyp, sortiert diese nach den angegebenen Kriterien und liefert die sortierte Liste mit der maximal angegebenen Länge zurück.
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
meta_types: Metatyp der Unterobjekte; dieser kann eine Liste von meta_types oder eins der Schlüsselwörter PAGES oder PAGEELEMENTS sein; dieser kann auch die meta_id eines speziellen Dokuments sein.
order_by: Schlüssel des Attributs, nach dem sortiert werden soll.
order_dir: Art der Sortierung (asc= aufsteigend, desc= absteigend).
max_len: maximale Anzahl der Objekte, die zurückgegeben werden sollen.
AUSGABE-PARAMETER:
nodes[list]: Liste von <ZMSObject>-Objekten
| [1] |
Liste der drei neuesten News innerhalb der WWW-Site: Die News sind spezielle Dokumente mit der meta_id='news'. Das Datum der News ist im Attribut 'date' gespeichert, nach dem absteigend ('desc') sortiert wird. Der Newstext wird aus dem Attribut 'text' ausgelesen.
<dtml-with "getDocumentElement()">
<table>
<dtml-in "filteredTreeNodes(REQUEST,'news','date','desc',3)">
<tr>
<th>
<a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
<dtml-var "getObjProperty('date',REQUEST)">
</a>
</th>
</tr>
<tr>
<td>
<dtml-var "getObjProperty('text',REQUEST)">
</td>
</tr>
</dtml-in>
</table>
</dtml-with>
|
| [2] |
Liste der drei neuesten News innerhalb der WWW-Site: Die News sind spezielle Dokumente mit der meta_id='news'. Das Datum der News ist im Attribut 'date' gespeichert, nach dem absteigend ('desc') sortiert wird. Der Newstext wird aus dem Attribut 'text' ausgelesen.
<dtml-with "getDocumentElement()">
<table>
<dtml-in "filteredTreeNodes(REQUEST,'news','date','desc',3)">
<tr>
<th>
<a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
<dtml-var "getObjProperty('date',REQUEST)">
</a>
</th>
</tr>
<tr>
<td>
<dtml-var "getObjProperty('text',REQUEST)">
</td>
</tr>
</dtml-in>
</table>
</dtml-with>
|
ZMSContainerObject.getFirstPage(REQUEST)
BESCHREIBUNG:
Liefert die erste Anfangsseite des Content-Baums (s.u.).
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
AUSGABE-PARAMETER:
node[object]: Objekt
ZMSContainerObject.getIndexNavElements(REQUEST)
BESCHREIBUNG:
Gibt für das aktuelle Objekt eine Liste der Unterdokumente (Standard und spezielle Dokumente) für die Indexnavigation im Contentbereich zurück (Template bodyContent_Index).
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
AUSGABE-PARAMETER:
nodes[list]: Liste von
| [1] |
Listet die Kurztitel aller Unterdokumente komma-separiert auf:
<dtml-in "getIndexNavElements(REQUEST)"> <dtml-var "getTitlealt(REQUEST)"> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
| [2] |
Listet die Kurztitel aller Unterdokumente komma-separiert auf:
<dtml-in "getIndexNavElements(REQUEST)"> <dtml-var "getTitlealt(REQUEST)"> <dtml-unless sequence-end>,</dtml-unless> </dtml-in> |
ZMSContainerObject.getPrevPage(REQUEST)
BESCHREIBUNG:
Liefert die vorherige Seite des Content-Baums; None falls es keine vorherige Seite gibt (s.u.).
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
AUSGABE-PARAMETER:
node[object]: Objekt
ZMSContainerObject.getNavElements(REQUEST, expand_tree=1)
BESCHREIBUNG:
Gibt für das aktuelle Objekt eine Liste von Objekten für die Hauptnavigation im Contentbereich zurück (Template bodyContent_MacroNavigation):
- immer alle Objekte der ersten Ebene
- die Vorfahren des aktuellen Objekts (falls expand_tree=1 inkl. ihrer Geschwister)
- alle Objekte der Ebene unterhalb des aktuellen Objekts
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
expand_tree[int]=1: Geschwister der Vorfahren expandieren (optional)
AUSGABE-PARAMETER:
nodes[list]: Liste von
| [1] |
Listet alle Kurztitel von Elementen der Hauptnavigation eingerückt auf:
<dtml-in "getNavElements(REQUEST)">
<dtml-in "_.range(0,getLevel())"> </dtml-in>
<a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
<dtml-var "getTitlealt(REQUEST)">
</a>
</dtml-in>
|
| [2] |
Listet alle Kurztitel von Elementen der Hauptnavigation eingerückt auf:
<dtml-in "getNavElements(REQUEST)">
<dtml-in "_.range(0,getLevel())"> </dtml-in>
<a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
<dtml-var "getTitlealt(REQUEST)">
</a>
</dtml-in>
|
ZMSContainerObject.getNextPage(REQUEST)
BESCHREIBUNG:
Liefert die nächste Seite des Content-Baums; None falls es keine vorherige Seite gibt (s.u.).
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
AUSGABE-PARAMETER:
node[object]: Objekt
ZMSContainerObject.getLastPage(REQUEST)
BESCHREIBUNG:
Liefert die letzte Seite des Content-Baums.
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
AUSGABE-PARAMETER:
node[object]: Objekt
| [1] |
Seitennavigation:
<dtml-let first="getFirstPage(REQUEST)"
prev="getPrevPage(REQUEST)"
next="getNextPage(REQUEST)"
last="getLastPage(REQUEST)">
<a href="<dtml-var "first.getHref2IndexHtml(REQUEST)">">[First]</a>
<dtml-if prev>
<a href="<dtml-var "prev.getHref2IndexHtml(REQUEST)">">[Previous]</a>
</dtml-if>
<dtml-if next>
<a href="<dtml-var "next.getHref2IndexHtml(REQUEST)">">[Next]</a>
</dtml-if>
<a href="<dtml-var "last.getHref2IndexHtml(REQUEST)">">[Last]</a>
</dtml-let>
|
| [2] |
Seitennavigation:
<dtml-let first="getFirstPage(REQUEST)"
prev="getPrevPage(REQUEST)"
next="getNextPage(REQUEST)"
last="getLastPage(REQUEST)">
<a href="<dtml-var "first.getHref2IndexHtml(REQUEST)">">[First]</a>
<dtml-if prev>
<a href="<dtml-var "prev.getHref2IndexHtml(REQUEST)">">[Previous]</a>
</dtml-if>
<dtml-if next>
<a href="<dtml-var "next.getHref2IndexHtml(REQUEST)">">[Next]</a>
</dtml-if>
<a href="<dtml-var "last.getHref2IndexHtml(REQUEST)">">[Last]</a>
</dtml-let>
|
ZMSContainerObject.getLinkList(REQUEST)
BESCHREIBUNG:
Liefert für das aktuelle Objekt aus den darin befindlichen Link-, Linksammlung- und Datei-Objekten eine Liste der internen und externen Verknüpfungen.
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
AUSGABE-PARAMETER:
list: Liste von Dictionaries
src= Quelle (
dst= Ziel (
url= URL des Ziels
title= Titel
description= Beschreibung
internal= 0|1 für externe/interne Links
| [1] |
Listet alle Links einer Seite auf:
<dtml-in "getLinkList(REQUEST)" mapping>
<a href="<dtml-var url>"
<dtml-if src>
<dtml-if "src.meta_type=='ZMSLinkElement' and
src.getObjProperty('attr_type',REQUEST)=='new'">
target="_blank"
</dtml-if>
</dtml-if>>
<dtml-var title>
</a>
<dtml-var description>
</dtml-in>
|
| [2] |
Listet alle Links einer Seite auf:
<dtml-in "getLinkList(REQUEST)" mapping>
<a href="<dtml-var url>"
<dtml-if src>
<dtml-if "src.meta_type=='ZMSLinkElement' and
src.getObjProperty('attr_type',REQUEST)=='new'">
target="_blank"
</dtml-if>
</dtml-if>>
<dtml-var title>
</a>
<dtml-var description>
</dtml-in>
|
REFERENZEN:
ZMSContainerObject.getTeaserElements(REQUEST)
BESCHREIBUNG:
Liefert eine Liste aller Teaser-Elemente des aktuellen Objekts. Dabei werden auch Teaser-Elemente berücksichtigt, die aus einer höheren Hierarchie-Ebene in die aktuelle Ebene penetrieren.
EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
AUSGABE-PARAMETER:
nodes[list]: Liste von Teaser-Elementen