Strukturvariable einer Referenz auslesen
Author: fkugler
Publication Date: 2/10/2016 8:36
Guten Morgen zusammen,
ich habe folgendes Formular-Element:
<FS_REFERENCE name="lt_link" hFill="yes" sections="no" useLanguages="no">
<FILTER>
<ALLOW type="pageref"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Page in Site Store"/>
<LANGINFO lang="DE" label="Seite in Struktur-Verwaltung"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="sitestore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>
Im HTML versuche ich eine Strukturvariable dieser Referenz auszulesen. In der Community habe ich bereits folgendes gefunden, was leider aber nicht funktioniert:
$CMS_SET(myData, lt_link.parent.data.get("ss_microsite").editor.get(#global.language))$
Hat jemand eine Idee, worin das Problem bestehen könnte?
Vielen Dank vorab und Grüße,
Frank
-
Author: MarsDD - 2/10/2016 9:18
Hallo Frank,
lt. Doku greifst du auf die Strukturvariable mittels
$CMS_VALUE(ref.data("ss_microsite"))$
drauf zu.
Viele Grüße
Marcel
0 -
Author: mbergmann - 2/11/2016 13:52
Hallo Frank,
als Hinweis vielleicht noch: Soweit ich mich erinnere, bekommst Du über die API immer nur die auf dem Knoten direkt gesetzten Strukturvariablen, d.h. die Vererbung greift hier nicht. D.h. Du müsstest hier wahrscheinlich selber den Baum "hochlaufen" bis Du eine gesetzte Variable findest.
Viele Grüße
Michael
0 -
Author: thomas_ritter - 2/17/2016 20:53
Hallo Frank,
ich hatte das Problem auch schon einmal und habe es mit folgendem Code gelöst. Hoffe das hilft dir weiter:
$CMS_TRIM(level:4)$$--
uid: UID of PageRef
variable: structure variable name e.g. "ssGlobalSettings"
Description: Get the value of an specific structure variable if it is inherit from top
--$
$CMS_SET(setUid, uid)$
$CMS_SET(setVariable, variable)$
$CMS_SET(ref,ref(pageref:setUid).target)$
$CMS_SET(result,"")$
$CMS_FOR(count,[1..ref(pageref:setUid).target.depth])$
$CMS_IF((result=="") && !(ref.parent.data.get(setVariable).editor.get(#global.language).isEmpty))$
$CMS_SET(result,ref.parent.data.get(setVariable).editor.get(#global.language))$
$CMS_END_IF$
$CMS_SET(ref,ref.parent)$
$CMS_END_FOR$
$CMS_VALUE(result)$$CMS_END_TRIM$
lg thomas
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
3 commentaires