fkugler
Occasional Observer

Strukturvariable einer Referenz auslesen

Jump to solution

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

0 Kudos
1 Solution

Accepted Solutions
thomas_ritter
I'm new here

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

View solution in original post

0 Kudos
3 Replies
MarsDD
Occasional Observer

Hallo Frank,

lt. Doku greifst du auf die Strukturvariable mittels

$CMS_VALUE(ref.data("ss_microsite"))$

drauf zu.

Viele Grüße

Marcel

0 Kudos
mbergmann
Crownpeak employee

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 Kudos
thomas_ritter
I'm new here

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 Kudos