rr
I'm new here

sprachabhängige Anzahl von Absatzvorlagen ermitteln

Jump to solution

Hallo Community,

gibt es eine Möglichkeit sprachabhängig die Anzahl der gemappten Absatzvorlagen in der richtigen Reihenfolge zu ermitteln?

Beispiel:

In einer Seite werden 3 Teaser (Absatzvorlagen) eingebunden, der Zweite  wurde allerdings nicht ins Englische übersetzt.

Mit der Funktion #global.section.parent.getChildIndex(#global.section) + 1  ermittle ich die Anzahl der AVen (Ausgabe: in DE 1 2 3) und verarbeite diese weiter (in diesem Fall, jeder Zweite soll ein Padding nach links erhalten), im Englischen erhalte ich die Ausgabe 1 3.

Mit welcher Anweisung erhalte ich auch im Englischen die "richtige Anzahl" in anderen Sprachen z.B.:EN 1 2?

Viele Grüße,

Ruth Richter

1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Ruth,

wenn ich es richtig verstehe brauchst Du den Index des aktuellen Absatzes wobei aber nur die Absätze gezählt werden sollen, die in der aktuellen Sprache als "aktiv" markiert sind, wo also oben der Haken "Diesen Absatz in der Ausgabe erzeugen" drin ist.

Eine Lösung ist hier, den index des aktuellen Absatz in einer gefilterten Kindliste zu ermitteln wobei die gefilterte Liste eben nur die aktiven Absätze enthält.

Das geht mit

$CMS_SET(set_number,#global.section.parent.children.toList.filter(

     x->x.isInOutputIncluded(#global.language)

).indexOf(#global.section)+1)$

Die Variable set_number enthält dann die Nummer des aktuellen Absatzes.

Viele Grüße

Michael

View solution in original post

4 Replies
hauke
Crownpeak employee

Hallo Ruth,

für die von Dir beschriebene Anforderung würde ich auf eine Lösung mit CSS zurückgreifen.

Über den CSS3 :nth-child(x) Selector kann man einfach jedem x-ten Element einen Style geben.

http://caniuse.com/#search=nth

Spricht irgendetwas gegen diese Lösung?

Viele Grüße

Niels

0 Kudos

Hallo Niels,

mit dieser eigentlich simplen Lösung habe ich mich schon befasst, allerdings haben wir im Quelltext unterschiedliche AVen mit unterschiedlich vielen DIV´s (Responsive Design), die zwar nicht angezeigt werden aber im Quelltext mitgezählt werden (nth-child).

Damit wird diese Lösung ausgehebelt.

Bietet das FS CMS keine Lösung?

Viele Grüße,

Ruth

0 Kudos
mbergmann
Crownpeak employee

Hallo Ruth,

wenn ich es richtig verstehe brauchst Du den Index des aktuellen Absatzes wobei aber nur die Absätze gezählt werden sollen, die in der aktuellen Sprache als "aktiv" markiert sind, wo also oben der Haken "Diesen Absatz in der Ausgabe erzeugen" drin ist.

Eine Lösung ist hier, den index des aktuellen Absatz in einer gefilterten Kindliste zu ermitteln wobei die gefilterte Liste eben nur die aktiven Absätze enthält.

Das geht mit

$CMS_SET(set_number,#global.section.parent.children.toList.filter(

     x->x.isInOutputIncluded(#global.language)

).indexOf(#global.section)+1)$

Die Variable set_number enthält dann die Nummer des aktuellen Absatzes.

Viele Grüße

Michael

Hallo Michael,

genau das war mein Problem und somit dankenderweise gelöst.

Schönes Wochenende und viele Grüße,

Ruth

0 Kudos