Sie sind hier:   » ZMS home » Dokumentation » Details » ZMS API » nach Objekten » zmsobject

zmsobject.ZMSObject

ZMSObject ist die abstrakte Basisklasse von der alle ZMS-Objekte abgeleitet werden.

ZMSObject.declHref2IndexHtml(REQUEST)

BESCHREIBUNG:
Gibt unter Berücksichtigung der Sprache für das aktuelle Objekt einen deklarativen Hyperlink auf die HTML-Indexseite (z.B. http://www.myzms.com/content/products/service) zurück.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt

AUSGABE-PARAMETER:
url[string]: Hyperlink auf HTML-Indexseite

BEISPIELE
[1]  Sprechender Link auf HTML-Indexseite:
 <a href="<dtml-var "declHref2IndexHtml(REQUEST)">">
  <dtml-var "getTitlealt(REQUEST)">
 </a>


ZMSObject.findFilteredTreeNodes(REQUEST, meta_types, values=[])

BESCHREIBUNG:
Durchsucht für das aktuelle Objekt den kompletten Unterbaum nach Objekten vom spezifizierten Metatyp, die mit der angegebenen Werteliste übereinstimmen.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
meta_types[string|list]: 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.
values[list]: Werteliste; es folgen jeweils immer Schlüssel und Wert

AUSGABE-PARAMETER:
nodes[list]: Liste von Objekten


ZMSObject.getBodyContent(REQUEST)

BESCHREIBUNG:
Generiert die HTML-Darstellung des ZMS-Objekts im Textkörper. Dabei werden auch ggf. vorhandener DTML-Anweisungen ausgeführt.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
html[string]: die HTML-Darstellung des ZMS-Objekts

BEISPIELE
[1]  Stellt alle Seitenelemente des aktuellen Dokuments dar:
 <dtml-in "filteredChildNodes(REQUEST,PAGEELEMENTS)">
  <dtml-var "getBodyContent(REQUEST)">
 </dtml-in>


ZMSObject.getChildNodes(REQUEST, meta_types=None)

BESCHREIBUNG:
Gibt für das aktuelle Objekt eine sortierte Liste aller Unterobjekte vom spezifizierten Metatyp zurück.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.
meta_types[string|list]: Metatyp der Unterobjekte (optional); dieser kann eine Liste von meta_types oder eins der Schlüsselwörter PAGES oder PAGEELEMENTS sein.

AUSGABE-PARAMETER:
nodes[list]: Liste von Objekten

BEISPIELE
[1]  Liste alle Unterobjekte des aktuellen Objekts:
  getChildNodes(REQUEST)
[2]  Liste alle Unterobjekte vom Typ ZMSTextarea oder ZMSDocument des aktuellen Objekts:
  getChildNodes(REQUEST,['ZMSTextarea','ZMSDocument'])
[3]  Liste alle Unterobjekte vom Typ PAGE (ZMSRubrik, ZMSDocument, etc.) des aktuellen Objekts:
  getChildNodes(REQUEST,PAGES)
[4]  Komma-getrennte Liste der IDs aller Unterobjekte vom Typ PAGE:
  <dtml-in "getChildNodes(REQUEST,PAGES)">
   <dtml-var id>
   <dtml-unless sequence-end>,</dtml-unless>
  </dtml-in>


ZMSObject.getDocumentElement()

BESCHREIBUNG:
Gibt das Wurzel-Element des Baums zurück.

AUSGABE-PARAMETER:
node[ZMSObject]

BEISPIELE
[1]  Gibt den Titel des Wurzel-Elements aus:
 <dtml-var "getDocumentElement().getTitle(REQUEST)">


ZMSObject.getHome()

BESCHREIBUNG:
Gibt den Home-Folder des Content-Objekts zurück.

AUSGABE-PARAMETER:
node[Folder]

BEISPIELE
[1]  Gibt die ID des Home-Folders aus:
 <dtml-var "getHome().id">


ZMSObject.getHref2IndexHtml(REQUEST, deep=1)

BESCHREIBUNG:
Gibt unter Berücksichtigung der Sprache für das aktuelle Objekt den Hyperlink auf die erste gefundene HTML-Indexseite (z.B. http://www.myzms.com/content/e4/e16/index_ger.html) zurück. Über das Flag deep wird die Navigation in die Tiefe auf die erste nicht leere HTML-Seite erzwungen. Eine HTML-Seite ist nicht leer, wenn sie darstellbare Elemente (Textabschnitt, Abbildungen) enthält.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt
deep[int]: Navigation in die Tiefe auf die erste nicht leere HTML-Seite

AUSGABE-PARAMETER:
url[string]: Hyperlink auf HTML-Indexseite

BEISPIELE
[1]  Link auf die erste gefundene HTML-Indexseite im Unterbaum:
 <a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
  <dtml-var "getTitlealt(REQUEST)">
 </a>


ZMSObject.getHref2PrintHtml(REQUEST)

BESCHREIBUNG:
Gibt für das aktuelle Objekt den Hyperlink auf die erste gefundene HTML-Seite der Druckversion (z.B. http://www.myzms.com/content/e4/e16/sitemap_ger.html) im Unterbaum zurück.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt

AUSGABE-PARAMETER:
url[string]: Hyperlink auf HTML-Seite der Druckversion

BEISPIELE
[1]  Link auf die erste gefundene HTML-Druckversion im Unterbaum:
 <a href="<dtml-var "getHref2PrintHtml(REQUEST)">"
     target="_blank">
  Druckversion
 </a>


ZMSObject.getHref2SitemapHtml(REQUEST)

BESCHREIBUNG:
Gibt für das aktuelle Objekt den Hyperlink auf die erste gefundene HTML-Seite der Sitemap (z.B. http://www.myzms.com/content/e4/e16/sitemap_ger.html) im Unterbaum zurück.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt

AUSGABE-PARAMETER:
url[string]: Hyperlink auf HTML-Seite der Sitemap

BEISPIELE
[1]  Link auf die erste gefundene HTML-Sitemapseite im Unterbaum:
 <a href="<dtml-var "getHref2SitemapHtml(REQUEST)">">
  Sitemap
 </a>


ZMSObject.getLevel()

BESCHREIBUNG:
Gibt die Hierarchie-Ebene des aktuellen Objekts zurück.

AUSGABE-PARAMETER:
level[int]: Hierarchie-Ebene

BEISPIELE
[1]  Gibt nur die ID eines Objekts der 1. Hierarchie-Ebene aus:
  <dtml-if "getLevel()==1">
    <dtml-var id>
  </dtml-if>


ZMSObject.getObjInput(key, REQUEST)

BESCHREIBUNG:
Liefert für das aktuelle Objekt zum angegebenen Attribut key ein Eingabefeld (Texteingabe ein/mehrzeilig, Datum, Auswahlliste, etc.) zurück.
Kann benutzt werden, um eigene HTML-Eingabeformulare ausserhalb des ZMS Management Interface zu schreiben.

EINGABE-PARAMETER:
key[string]: der Schlüssel der Eigenschaft
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
html[string]: die HTML-Darstellung des Eingabefelds


ZMSObject.getObjProperty(key, REQUEST)

BESCHREIBUNG:
Liefert für das aktuelle Objekt zum angegebenen Schlüssel key den Wert einer Eigenschaft zurück. Dabei wird der durch das Request-Objekt REQUEST implizierte Kontext berücksichtigt (Sprache, Live/Arbeitsversion).

EINGABE-PARAMETER:
key[string]: der Schlüssel der Eigenschaft
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
value[any]: der Wert der Eigenschaft

BEISPIELE
[1]  Gibt den Titel des aktuellen Objekts aus:
  <dtml-var "getObjProperty('title',REQUEST)">


ZMSObject.getParentByLevel(level)

BESCHREIBUNG:
Liefert das dem aktuellen Objekt übergeordnete Element auf der angegebenen Hierarchie-Ebene des Baums oder sich selbst, wenn sich das aktuelle Objekt schon oberhalb der angegebene Hierarchie-Ebene befindet.

EINGABE-PARAMETER:
level[int]: die Hierarchie-Ebene des übergeordneten Elements

AUSGABE-PARAMETER:
node[ZMSObject]


ZMSObject.getParentNode()

BESCHREIBUNG:
Liefert das dem aktuellen Objekt übergeordnete Element des Baums, None falls das aktuelle Objekt bereits das Wurzel-Element ist.

AUSGABE-PARAMETER:
node[ZMSObject]


ZMSObject.isActive(REQUEST)

BESCHREIBUNG:
Gibt 1 zurück, falls das aktuelle Objekt sichtbar ist, 0 sonst.
Ein Objekt ist aktiv wenn:
- der aktiv-Toggle aktiviert ist.
- das aktuelle Datum innerhalb des Aktivierungszeitraum (sofern vorhanden) liegt.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
active[int]: 1 falls das aktuelle Objekt aktiv ist, 0 sonst.

BEISPIELE
[1]  Gibt die ID eines Objekts aus, falls dieses aktiv ist:
 <dtml-if "isActive(REQUEST)">
  <dtml-var id>
 </dtml-if>
[2]  Gibt die ID eines Objekts aus, falls dieses nicht aktiv ist:
 <dtml-unless "isActive(REQUEST)">
  <dtml-var id>
 </dtml-unless>


ZMSObject.isPage()

BESCHREIBUNG:
Gibt 1 zurück, falls das aktuelle Objekt einer eigenen HTML-Seite entspricht, 0 sonst.
Einer eigene Seite entspricht z.B. eine Rubrik oder ein Dokument, nicht jedoch ein Textabschnitt oder eine Abbildung.

AUSGABE-PARAMETER:
page[int]: 1 falls das aktuelle Objekt einer eigenen Seite entspricht, 0 sonst.

BEISPIELE
[1]  Erzeugt einen Link auf ein Objekt, falls es eine eigene Seite ist:
 <dtml-if "isPage()">
  <a href="<dtml-var "getHref2IndexHtml(REQUEST)">">
   <dtml-var "getTitlealt(REQUEST)">
  </a>
 </dtml-if>
[2] 
Meta-TypeBeschreibungisPage()
ZMSWWW-Site1
ZMSCustomSpez. Objekt1 falls Typ Dokument
0 sonst
ZMSDocumentDokument1
ZMSFileDatei0
ZMSGraphicAbbildung0
ZMSLinkContainerLink-Container0
ZMSLinkElementLink-Element0
ZMSNoteNotiz0
ZMSRubrikRubrik1
ZMSSysFolderSystemordner1
ZMSTableTabelle0
ZMSTextareaTextabschnitt0
ZMSTeaserContainerTeaser-Container0
ZMSTeaserElementTeaser-Element0


ZMSObject.isPageElement()

BESCHREIBUNG:
Gibt 1 zurück, falls das aktuelle Objekt einem im Textkörper darstellbaren HTML-Seitenelement entspricht, 0 sonst.
Einem darstellbaren Seitenelement entspricht z.B. ein Textabschnitt oder eine Abbildung, nicht jedoch eine Rubrik, eine Linksammlung oder eine Notiz.

AUSGABE-PARAMETER:
pageelement[int]: 1 falls das aktuelle Objekt einem darstellbaren Seitenelement entspricht, 0 sonst.

BEISPIELE
[1]  Stellt ein Objekt dar, falls es ein darstellbares Seitenelement ist:
 <dtml-if "isPageElement()">
  <dtml-var "getBodyContent(REQUEST)">
 </dtml-if>
[2] 
Meta-TypeBeschreibungisPageElement()
ZMSWWW-Site0
ZMSCustomSpez. Objekt1 falls Typ Object
0 sonst
ZMSDocumentDokument0
ZMSFileDatei0
ZMSGraphicAbbildung1
ZMSLinkContainerLink-Container0
ZMSLinkElementLink-Element0
ZMSNoteNotiz0
ZMSRubrikRubrik0
ZMSSysFolderSystemordner0
ZMSTableTabelle1
ZMSTextareaTextabschnitt1
ZMSTeaserContainerTeaser-Container0
ZMSTeaserElementTeaser-Element0


ZMSObject.isResource(REQUEST)

BESCHREIBUNG:
Gibt 1 zurück, falls das aktuelle Objekt vom Typ (DC.Type) Resource ist, 0 sonst.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
resource[int]: 1 falls das aktuelle Objekt vom Typ (DC.Type) Resource ist, 0 sonst.

BEISPIELE
[1]  Gibt das Meta-Attribut DC.Type eines Objekts aus, falls dieses nicht vom Typ (DC.Type) Resource ist:
 <dtml-unless "isResource(REQUEST)">
  <dtml-var "getObjProperty('attr_dc_type',REQUEST)">
 </dtml-unless>


ZMSObject.isTranslated(lang, REQUEST)

BESCHREIBUNG:
Überprüft, ob das aktuelle Objekt in die angegebene Sprache übersetzt ist.

EINGABE-PARAMETER:
lang[string]: die Sprache
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
translated[int]: 1 falls das aktuelle Objekt sichtbar ist, 0 sonst.

BEISPIELE
[1]  DTML-Template für die Sprach-Selektion:
 <form name="fmLangSelect">
  <select size="1" 
    onchange="location.href=this.options[this.selectedIndex].value;">
    <dtml-in "getLanguages()">
     <dtml-let req="{'lang':_['sequence-item'],
                     'preview':REQUEST.get('preview','')}">
      <dtml-if "isActive(req) and
                isTranslated(req['lang'],REQUEST)">
       <option value="<dtml-var "getHref2IndexHtml(req)">"
        <dtml-if "lang==req['lang']">
         <selected="selected"
        </dtml-if>
      ><dtml-var "getLanguageLabel(req['lang'])"></option>
     </dtml-if>
    </dtml-let>
   </dtml-in>
  </select>
 </form>


ZMSObject.isVisible(REQUEST)

BESCHREIBUNG:
Überprüft, ob das aktuelle Objekt sichtbar ist. Ein Objekt ist sichtbar wenn es:
- aktiv ist.
- bei aktiviertem Workflow bereits freigegeben wurde.
- die Reichweite (DC.Coverage) ein Element aus obligation, proposal oder der aktuellen lokalen Sprache ist.

EINGABE-PARAMETER:
REQUEST: das Http-Request Objekt.

AUSGABE-PARAMETER:
visible[int]: 1 falls das aktuelle Objekt sichtbar ist, 0 sonst.

BEISPIELE
[1]  Gibt die ID eines Objekts aus, falls dieses sichtbar ist:
 <dtml-if "isVisible(REQUEST)">
  <dtml-var id>
 </dtml-if>
[2]  Gibt die ID eines Objekts aus, falls dieses nicht sichtbar ist:
 <dtml-unless "isVisible(REQUEST)">
  <dtml-var id>
 </dtml-unless>


ZMSObject.setObjProperty(key, value, lang)

BESCHREIBUNG:
Setzt für das aktuelle Objekt zum angegebenen Schlüssel key eine Eigenschaft in der Sprache lang auf den angegenen Wert value.

EINGABE-PARAMETER:
key[string]: der Schlüssel der Eigenschaft
value[any]: der neue Wert der Eigenschaft
lang[string]: die Sprache

BEISPIELE
[1]  Setzt den Titel des aktuellen Objekts auf Neuer Titel:
 <dtml-call "setObjStateModified(REQUEST)">
 <dtml-call "setObjProperty('title','Neuer Titel',lang)">
 <dtml-call "onChangeObj(REQUEST)">