Julian
I'm new here

Uid des aktuellen Templates auslesen

Hallo FirstSpirit-Gemeinde,

mit dem Aufruf CMS_RENDER will ich in ein Formattemplate einbinden, dass die Uid des Templates ausliest, in dem dieses Formattemplate eingebunden wurde. Dieses CMS_RENDER soll in allen Arten von Templates eingebunden werden. Also Seitentemplates, Absatztemplates, Formattemplates und Linktemplates. Bisher habe ich keine Möglichkeit gefunden dies zu machen.

Mit dem Aufruf #global.page.getTemplate().getUid() bekomme ich nur die Uid der Seite in die das Template eingebunden wird.

Gibt es eine einfach Möglichkeit dies zu realisieren?

Ziel ist es einen HTML-Kommentar zu erzeugen, der auf der fertig generierten Seite die verwendeten Templates, soweit dies Möglich ist, anzuzeigen.

Danke schon mal für eure Antworten

Gruß Julian

0 Kudos
5 Replies
marro
Crownpeak employee

Hallo Julian,

eine einfache Möglichkeit fällt mir dazu leider nicht ein. Aber was würde dagegen sprechen, die Uid des Templates hardcodiert als Kommentar in das jeweilige Template zu schreiben? Die Uid verändert sich ja nicht mehr und da Du eh jedes Template anfassen musst, um ein CMS_RENDER einzubauen, könntest Du ja auch gleich die Uid manuell eintragen (oder sie dem CMS_RENDER-Aufruf übergeben, damit dieser die Uid dann in einen HTML-Kommentar packt).

Ein anderer Weg könnte über ein Skript führen, welches den aktuellen Knoten übergeben bekommt und dann anhand des Referenzgraphen die verwendeten Templates raussucht. Aber auch das würde ich nicht zu den einfachen Möglichkeiten zählen.

Gruß

Donato

0 Kudos

Schade, ich war auch schon öfter mal in der Situation, wo bestimmte Templateeigenschaften ausgelesen werden sollten. Da mussten wir immer irgendwie tricksen.

Hätte es aus e-Spirit Sicht Aussicht auf Erfolg, einen Feature Request für #global.template zu stellen, mit dem analog zu #global.node, #global.page und #global.section das aktuell verwendete Template zur Verfügung steht?

0 Kudos

Danke für die Antwort.

eigentlich wollte ich verhindern jedes mal nachzuschauen was für eine Uid das Template hat und sie dann reinkopieren. Die Bedeutet mehr Aufwand als erwünscht und kann auch Fehleranfällig sein.

Wir haben uns entschieden den Renderaufruf in jedes Template zu überhnehmen und als Parameter die Uid mit zu übergeben. Der Wert des Parameters wird dann per Skript eingesetzt. Das Skript wird noch für eine andere Tätigkeit benötigt und von daher kann es diese Funktion auch übernehmen.

Der Vorschlag von Matthias hätte, denke ich, seine Reize Smiley Happy

0 Kudos

Ich sehe dafür sinnvolle Anwendungsfälle, daher denke ich schon, das ein Feature-Request in diese Richtung "Aussicht auf Erfolg" hat.

Peter
0 Kudos

0 Kudos