akram
I'm new here

Zugriff auf CONTENTAREALIST Elemente??

Jump to solution

Hallo,

ich habe 2 Absatzvorlagen "item" und Absatz "gal"

Absatz "item" besteht aus 2 Eingabe Komponenten (String Eingabe „bild_name“ , und Input Picture „st_bild“).

Absatz "gal" beinhaltet u.a. Input CONTENTAREALIST „bilder“

  <CMS_INPUT_CONTENTAREALIST name="bilder" hFill="yes">

     <LANGINFOS>  ...     </LANGINFOS>

     <SOURCES>

       <TEMPLATE name="item"/>

     </SOURCES>

  </CMS_INPUT_CONTENTAREALIST>

 

Die Frage ist wie kann ich in die html Ausgabe der 2ten Absatz auf die Elemente der ersten Absatz zugreifen bzw. auf „bild_name“ und „st_bild“??

Ich hab damit versucht:   

     $CMS_FOR(item,bilder)$

        <img title="$CMS_VALUE(item.getData().get("bild_name"))$"  src="$CMS_REF(item.getData().get("st_bild"))$">

     $CMS_END_FOR$

es hat aber nicht geklappt, könnte jemand bitte einen Tipp geben, wie ich das realisieren könnte.

Danke

0 Kudos
1 Solution

Accepted Solutions

Und wenn der Aufruf dann noch etwas optimiert wird, sollte es eigentlich funktionieren:

$CMS_VALUE(item.getData().get("bild_name").editor.get(#global.language))$

🙂

View solution in original post

0 Kudos
8 Replies
MarcusDau
Occasional Collector

Hy!

Kleiner Tipp: die Ausgabe des Bildes erfolgt in dem Absatz "item". Zweiter Tipp: du speicherst das ja sicherlich in einer Datenquelle, wo es dann ein Mapping von Eingabekomponente zu Datenquellen-Feld gibt.

Im Absatz "gal" iterierst Du wie folgt:

$CMS_FOR(item,#row.FELDNAME_BILD)$

$CMS_VALUE(item)$

$CMS_END_FOR$

Ich denke, damit solltest Du weiterkommen.

Grüße

Marcus

0 Kudos

Hallo Marcus,

danke für deine Antwort, das hilft leider nicht. Ich benutze keine Datenquelle für die Speicherung.

0 Kudos
MarcusDau
Occasional Collector

Hy Akram!

a) Funktioniert deine CMS_FOR-Schleife?

$CMS_FOR(item,bilder)$

$CMS_VALUE(#for.index)$

$CMS_END_FOR$

Gibt er da die richtige Anzahl an Werten zurück?

b) Wenn ja, dann sollte doch eigentlich der Aufruf $CMS_VALUE(item)$ reichen, wenn Du meinen ersten Tipp aus dem anderen Kommentar umgesetzt hast. Die Ausgabe erfolgt in der Absatzvorlage item.

Grüße

Marcus

0 Kudos
MarcusDau
Occasional Collector

Guck Dir auch mal diesen Thread hier an:

https://community.e-spirit.com/message/1280

Der sollte Dir auch helfen!

0 Kudos

Hi Marcus,

die For Schleife Funktioniert, und gibt schon die Richtige Anzahl der Elemente zurück, auch die Ausgabe $CMS_VALUE(item)$ funktioniert. Aber das Problem ist, aus der CONTENTAREALIST als Ausgabe brauche ich maximal nur 3 Bilder als Thumbnails, aber alle Bilder Namen als Download links sollen neben die Thumbnails ausgegeben werden.

Also z.B. ein CONTENTAREALIST die 10 Bilder enthält, der Redakteur soll die Möglichkeit haben wie viele Thumbnails in der Ausgabe dargestellt werden können (min.1 und Max.3), dann soll in der Ausgabe 1,2 oder 3 Bilder ausgegeben + Alle 10 Bilder Namen als Download Links.

Wenn die Ausgabe des Bildes auch in dem Absatz "item" erfolgen muss, dann werden alle "10" Bilder ausgegeben!!

0 Kudos

Hallo,

um die gewünschte Ausgabe zu erzeugen muss in der Ausgabe lediglich noch ein IF-Statement eingebaut werden z.B. so:

$CMS_FOR(item,bilder)$

     $CMS_IF(#for.index <= set_maxCount)$

          <img title="$CMS_VALUE(item.getData().get("bild_name"))$" src="$CMS_REF(item.getData().get("st_bild"))$">

     $CMS_ELSE$

          <a href="#">Download Link</a>

     $CMS_END_IF$

$CMS_END_FOR$

Und wenn der Aufruf dann noch etwas optimiert wird, sollte es eigentlich funktionieren:

$CMS_VALUE(item.getData().get("bild_name").editor.get(#global.language))$

🙂

0 Kudos

Jetzt hat es endlich geklappt Smiley Happy

es lag an die .editor.get(#global.language)

Ohne (.editor.get(#global.language) ) bekomme ich in die html Ausgabe sowas:

<div class="list_img_link_img">

                <cms_value name="bild_name"><lang set="1" id="§"><text>bild1</text></lang></cms_value>

                <img src="" alt="..." title="...">

....

        </div>

Vielen Dank

0 Kudos