Search the FirstSpirit Knowledge Base
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
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.
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.
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
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