red-door.png
  • Holm Gehre
  • 20.03.2017
  • DE

Auslesen von Inhaltsattributen und Verwendung geschachtelter Kurzschreibweisen

Das Auslesen von Inhaltsattributen bekannter/bestimmter Inhalte ist problemlos möglich, doch wie schaut es aus, wenn vor dem Zugriff noch "Inline-Funktionen" angewendet werden sollen.

Was sind Inhaltsattribute und wie kann via Dynament darauf zugegriffen werden?

Inhaltsattribute sind mit META-Daten zu einem Inhalt (z.B. HTML-Seite, Bild- oder Mediadateien) vergleichbar. Diese werden im Regelfall von den Redakteuren im Management Server vergeben und beim Import in das Delivery Server - Projekt zu diesem Inhalt gespeichert.

Der Zugriff auf die "eigenen" Inhaltsattribute ist mehr als einfach: source="content" attribute="[ATTRIBUTPATH]" oder in Kurzschreibweise attribute="content:[ATTRIBUTPATH]"

Für den Zugriff auf die Inhaltsattribute anderer Dokumente/Dateien sind nur kleine Änderungen notwendig - hier ist ein kurzer Blick in die "Dynament-Dokumentation" lohnenswert.

(Quelle: Web Site Management Delivery Server 11.2.2 - DynaMents Guide (German).pdf)

Mit diesen Informationen ist das oben gezeigte Code-Beispiel schnell überarbeitet:

Soweit so gut, aber wo ist der Haken?

Die angeführten Beispiele funktionieren problemlos in Projekten, die keine Einschränkung der Namenseindeutigkeit von Inhalten auf Gruppenebene haben, sondern auf projektweite Eindeutigkeit setzen. In Projekten mit der Einschränkung auf Gruppenebene ist dem Inhaltsnamen auch der vollständige Pfad voranzustellen.

In meinem Anwendungsfall sollten die Inhaltsattribute von HTML-Seiten über eine einzelne XML-Datei, die aus dem Management Server publiziert wird, verarbeitet werden.
Da unterschiedliche Delivery Server - Publizierungsziele für HTML-Dateien und XML-Dateien existieren und im Delivery Server - Projekt die Namenseindeutigkeit auf Gruppenebene gesetzt wurde, passten meine "Pfade zum Inhalt" nicht mehr.

Dies lässt sich auf mehrere Arten lösen (z.B. Ereignisdefinition: Ersetzen beim Inhalts-Import oder beim Laden, Nutzen von Inline-Funktionen bei der Verarbeitung,...), da es sich bei mir um eine einzelne XML-Verarbeitungsdatei handelt habe ich mich für die "Inline-Funktion" entschieden.
Der nachfolgenden Beispiel-Code sollte "aussagekräftig genug" sein.

Anmerkung: Mit der mehrfachen Verschachtelung von Dynaments in der "Kurzschreibweise", lassen sich auch sehr komfortable "Multivalue-Attribute" aufbauen und auswerten. Innerhalb von "constrains" können diese Ausdrücke ebenfalls verwendet werden. 

 

Social Media