Search the FirstSpirit Knowledge Base
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
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 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
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
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