- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CONTENTAREALIST - einzelne Werte auslesen
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
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der "steinige Weg" ist: section.data.get("headline").editor.get(#global.language)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bitte ersetze mal "headline" durch "form.appendEditorNames(null)" und poste die Ausgabe hier.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Der "steinige Weg" ist: section.data.get("headline").editor.get(#global.language)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

