der_sk
I'm new here

Nutzung von Strukturvariablen als Platzhalter in $CMS_RENDER(template:ss_irgendwas)$

Jump to solution

Hallo,

wir haben bei uns die Anforderung auf Strukturebene Teile des Seitentemplates zu ändern. Hierzu haben wir die entsprechenden Teile der Seitenvorlage in Formatvorlagen ausgelagert. Per $CMS_SET/$CMS_VALUE wollen wir dann abfragen, ob eine bestimmte Strukturvariable gesetzt wurde und wenn ja, den Inhalt dieser Strukturvariable als Referenznamen in $CMS_RENDER nutzen.

Beispiel:

$CMS_SET(ft_essende_real_left_navi)$

   $CMS_VALUE(ss_essende_left_navi, default:"essendelinkenavigation")$

$CMS_END_SET$

$CMS_RENDER(template:ft_essende_real_left_navi)$

Leider wird statt des Inhalts der entsprechenden Formatvorlage nur "template:essendelinkenavigation" ausgegeben.

Haben wir was falsch gemacht, ist das ein Bug oder gibt es bessere/andere Lösungen?

Gruß,

Sascha Körver

Essener Systemhaus

0 Kudos
1 Solution

Accepted Solutions
feddersen
Community Manager

Ein

$CMS_SET(ft_essende_real_left_navi)$

   $CMS_VALUE(ss_essende_left_navi, default:"essendelinkenavigation")$

$CMS_END_SET$

liefert keinen String zurück, sondern ein TemplateDocument/TemplateFragement. Der CMS_RENDER Aufruf erwartet aber einen String. Entweder nutzen Sie ein normales $CMS_SET(ft_essende_real_left_navi, ss_essende_left_navi) oder Sie wandeln das TemplateDocument vorher explizit in einen String um:

$CMS_RENDER(template:ft_essende_real_left_navi.toString)$

Ich habe es jetzt nicht getestet, hoffe aber trotzdem richtig zu liegen. Smiley Wink

View solution in original post

0 Kudos
3 Replies
feddersen
Community Manager

Ein

$CMS_SET(ft_essende_real_left_navi)$

   $CMS_VALUE(ss_essende_left_navi, default:"essendelinkenavigation")$

$CMS_END_SET$

liefert keinen String zurück, sondern ein TemplateDocument/TemplateFragement. Der CMS_RENDER Aufruf erwartet aber einen String. Entweder nutzen Sie ein normales $CMS_SET(ft_essende_real_left_navi, ss_essende_left_navi) oder Sie wandeln das TemplateDocument vorher explizit in einen String um:

$CMS_RENDER(template:ft_essende_real_left_navi.toString)$

Ich habe es jetzt nicht getestet, hoffe aber trotzdem richtig zu liegen. Smiley Wink

0 Kudos

Vielen Dank, das hat funktioniert. Ich musste nur noch ein Trim hinterhersetzen:

$CMS_RENDER(template:ft_essende_real_left_navi.toString.trim)$

Gruß,

Sascha Körver

Essener Systemhaus

0 Kudos
SHeinrich
Returning Observer

Hallo,

anknüpfend an dieses Beispiel

$CMS_SET(ft_snippet)$

     $CMS_VALUE(ss_irgendwas, default:"name_der_formatvorlage")$

$CMS_END_SET$

$CMS_RENDER(template:ft_snippet.toString.trim)$

eine Frage: Gibt es einen Trick FS dazu zu bringen die Referenz zu "kennen". Also wenn ich auf "name_der_formatvorlage" -> Verwendung gehe, dann ist diese "nicht verwendet".  Etwa ref(template:"name-der_formatvorlage).getTemplate().getName() o.ä.

Gruß,

Sergej


0 Kudos