KaGa_HH
I'm new here

CONTENTAREALIST - einzelne Werte auslesen

Jump to solution

Hallo,

ich möchte über eine Contentarealist auf bestimmt Parameter zugreifen.

Ich habe dafür zwei Absatzvorlagen angelegt.

1. Absatzvorlage (Teaser) enthält u. a.:

<CMS_INPUT_TEXT name="headline" allowEmpty="yes" hFill="yes" singleLine="no" useLanguages="yes">

    <LANGINFOS>

      <LANGINFO lang="*" label="Überschrift"/>

    </LANGINFOS>

</CMS_INPUT_TEXT>

//Eingabe z. B.: Hallo Welt!

2. Absatzvorlage enthält die CMS_INPUT_CONTENTAREALIST.

$CMS_FOR(index,teaser)$

    $CMS_VALUE(index)$     //Ausgabe z. B.: Hallo Welt!, ...

$CMS_END_FOR$

Jetzt erhalte ich die Ausgaben meiner Überschriften.

Wie kann ich aber expliziet auf einzelne Parameter aus der 1. Absatzvorlage zugreifen?

Z. B.:

<CMS_INPUT_CONTENTAREALIST name="teaser_ausgabe" hFill="yes" rows="15">

    <LANGINFOS>

      <LANGINFO lang="*" label="Ausgabe"/>

    </LANGINFOS>

    <SOURCES>

      <TEMPLATE name="namedererstenabsatzvorlage"/>

    </SOURCES>

  </CMS_INPUT_CONTENTAREALIST>

$CMS_FOR(index,teaser)$

    $CMS_VALUE(index.namedererstenabsatzvorlage.headline)$  // funktioniert nicht

    $CMS_VALUE(index.namedererstenabsatzvorlage.headline.toString())$  // funktioniert nicht

   //ich habe auch versucht in der 1. Absatzvorlage über $CMS_SET(merke_headline, headline)$ die Eingabe auszugeben:

     $CMS_VALUE(index.merke_headline)$  // funktioniert leider auch nicht

$CMS_END_FOR$

Kann mir jemand da weiterhelfen?

Danke und schöne Grüße.

Katja

0 Kudos
1 Solution

Accepted Solutions

Der "steinige Weg" ist: section.data.get("headline").editor.get(#global.language)


Peter

View solution in original post

0 Kudos
9 Replies
Peter_Jodeleit
Crownpeak employee

Leider hast du die FirstSpirit-Version nicht angegeben.

Wenn ich die Frage richtig verstehe, soll im Template, das die  CMS_INPUT_CONTENTAREALIST enthält, eine Ausgabe von einzelnen Werten der inneren Absätze ausgegeben werden? Dafür muss man auf den Wertetyp zugreifen, dies ist eine Liste von Absätzen. Die Daten eines Absatzes sind dann über "getFormData()" zugreifbar:

$CMS_FOR(section, teaser_ausgabe)$

    $CMS_VALUE(section.formData.headline)$<br />

$CMS_END_FOR$

Dies produziert also eine Auflistung aller Überschriften.

Peter
0 Kudos

Hallo Peter,

ja, Du hast meine Frage richtig verstanden, nur erhalte ich die Fehlermeldung:

Replacing null value with empty default! Undefined field 'headline'!

wenn ich Dein Beispiel umsetze.

Ich habe mehrere verschiedene Schreibweisen ausprobiert und auch unterschiedliche Werte eingefügt, ohne Erfolg.

An der Version sollte es nicht liegen, denn ich habe hier Server-Version: 4.2.432.43881.

Hast Du oder jemand anderes noch eine Idee?

0 Kudos

Bitte ersetze mal "headline" durch "form.appendEditorNames(null)" und poste die Ausgabe hier.

Peter
0 Kudos

Einmal die Ausgabe:

25.04.2012 10:13:01.546 WARN  ($CMS_VALUE(section.formData.form.appendEditorNames(null))$ at 81, 2): Replacing null value with empty default! Undefined method 'de.espirit.firstspirit.parser.eval.Undefined#appendEditorNames(java.lang.Object)'!

Hilft Dir das weiter?

0 Kudos

Nein, tut es nicht. Ich habe es gerade ausprobiert (allerdings in v5), da funktioniert es. Wird wirklich über die CAL-Werte iteriert? Bitte mal den Typ von "teaser_ausgabe", "section" und "section.formData" ausgeben ($CMS_VALUE(teaser_ausgabe.class)$ etc.).

Peter
0 Kudos

Einmal die Ausgaben:

$CMS_VALUE(teaser_ausgabe.class)$

de.espirit.firstspirit.client.access.editor.ContentAreaListValueImpl$SectionListImpl

$CMS_VALUE(section.class)$

de.espirit.firstspirit.client.access.editor.EditorSectionImpl

$CMS_VALUE(section.formData.class)$

de.espirit.firstspirit.parser.eval.Undefined

formData scheint zumindestens bei meiner CMS-Version nicht zu funktionieren.

Hast Du eine Alternative parat?

0 Kudos

Der "steinige Weg" ist: section.data.get("headline").editor.get(#global.language)


Peter
0 Kudos

Dank Dir Peter, dass hat geklappt.

Bis section.data.get("headline") bin ich auch gekommen, aber den Rest mit editor.get(#global.language) hätte ich nie hinbekommen.

Ich komme einfach nie auf so was.

0 Kudos

Hallo,

seit dem FS 5 Upgrade funktioniert folgender Aufruf nicht mehr.

$CMS_SET(headline)$

     $CMS_VALUE(ref(section.data.get("headline").editor.get(#global.language), abs: 1)$

$CMS_END_SET$

Kann mir jemand sagen, was sich geändert hat?


0 Kudos