Erweiterung von #global um template

Hallo zusammen,

es ist bei uns schon öfter vorgekommen, dass bestimmte Templateeigenschaften (z.B. die UID oder das Datum der letzten Aktualisierung) im HTML Code ausgegeben werden sollten. Leider ist das schwierig auszulesen, da der Generierungskontext keine Informationen zum gerade verwendeten Template liefert.

Für Seitenvorlagen kann man das z.B. mit #global.page.template.uid hinbekommen, aber schon bei Absätzen wird es unsicher, denn #global.section ist nicht immer der Absatz, den man haben will (z.B. bei Unterabsätzen innerhalb von Datenquellen). Und bei Format- oder Linkvorlagen geht das so gar nicht mehr.

Deshalb mein Vorschlag, ein #global.template zu implementieren. Dies sollte das aktuelle Template zurückliefen, in dem der Aufruf steht.

Beispiel:

In einer Formatvorlage steht folgender Eintrag:

<!-- last change for $CMS_VALUE(#global.template.uid)$: $CMS_VALUE(#global.template.lastChanged)$ -->

In der Ausgabe wird der Referenzname der Formatvorlage und das Datum der letzten Änderung in den Kommentar geschrieben.

Wäre das möglich?

11 Comments
matthiasforberg
Occasional Collector
Peter_Jodeleit
Crownpeak employee
Crownpeak employee

Interne ID: #128309

ehle
I'm new here

Der Zugriff auf die Eigenschaften des aktuellen templates ist ab FirstSpirit 5.0 über das Systemobjekt #this möglich.

Beispiel:

<!-- last change for $CMS_VALUE(#this.template.uid)$: $CMS_VALUE(#this.template.changeDate.format("dd.MM.yyyy"))$)-->

Prinzipiell kann diese Abfrage in alle Vorlagen verwendet werden. Ob die Methode #this.getTemplate() (Bean-Syntax: #this.template) erreichbar ist, hängt alleine vom jeweiligen Objekttyp ab, der von #this zurückgegeben wird.

#this repräsentiert immer das aktuell in der Vorlage ausgewertete Objekt. Der zurückgegebene Objekttyp kann somit variieren. Mögliche Rückgabewerte sind:

Eine Objekt vom Typ Template wird für folgende Rückgabewerte von #this geliefert:

matthiasforberg
Occasional Collector

Ah, super, danke!

Wenn Ihr's jetzt noch in der ODFS unter Vorlagensyntax/Systemobjekte eintragt, finde ich es beim nächsten Mal auch selbst Smiley Happy

ehle
I'm new here

Das haben wir schon. Ist dann ab der nächsten ODFS-Veröffentlichung verfügbar.

matthiasforberg
Occasional Collector

Hallo nochmal,

die beschriebene Funktion ist schon mal nicht schlecht, aber es werden dabei leider keine Format- oder Linkvorlagen berücksichtigt. Wenn ich #this.template.uid innerhalb einer Formatvorlage ausgeben lasse, bekomme ich die uid der übergeordneten Absatzvorlage zurück. Gleiches gilt für Linkvorlagen.

Wäre das evtl. noch möglich zu ergänzen?

joachim_nissler
Returning Observer

Wie kann man denn auf die angegeben Links zugreifen?

ehle
I'm new here

Über die FirstSpirit Online Dokumentation:

http://www.e-spirit.com/odfs51/Vorlagenentwicklung/Vorlagensyntax/Systemobjekte/this/

Oder direkt über die FirstSpirit Access API:

http://www.e-spirit.com/odfs51/access/

rmeyanga
I'm new here

Hallo,

welche Zugangsdaten soll man eingeben, um auf die Doku-Links oben zugreifen zu können ?

ehle
I'm new here

Hier sind sie Zugangsdaten hinterlegt:
https://community.e-spirit.com/docs/DOC-1041