Hallo zusammen,
hab schon vieles durchsucht und gelesen, komme aber nicht weiter, wobei es eigentlich trivial sein müsste.
Mein Problem:
Ich habe einen Image-Slider (Markup wie Bootstrap3 Carousel) realisiert, der eine Gruppe von jeweils 3 (statt 1 wie bei Bootstrap) Bilder ausgibt.
Die Bilder werden einfach einem Contentelement hinzugefügt und über FILES ausgelesen.
Das klappt auch hervorragend, solange es sich jeweils um eine durch 3 teilbare Anzahl an Bildern im Content Element handelt.
Hat der Redakteur z.B. nur 5 Bilder gespeichert, werden benötigte </div></div> nicht ausgegeben, da ich mit mod3 immer nur nach 3 Bildern die Tags schließe.
Eine einfache Möglichkeit wäre, wenn ich die Anzahl der Bilder ermitteln und z.B. über LOAD_REGISTER speichern könnte. Hab aber schon vieles versucht, aber es klappt einfach nicht, das Register bleibt leer.
Hier mein letzter Versuch:
30 = FILES
30 {
references {
table = tt_content
uid.data = field:uid
fieldName = image
}
renderObj = COA
renderObj {
5 = LOAD_REGISTER
5 {
imgCounter.stdWrap.numRows.30
}
Vielen Dank vorab, für jegliche Hinweise.
Gruß
Andy
Hallo Andy,
na zum einen ist da im Typoscript der Wurm drin.
zum andern geht numrows mit fal glaube ich nicht mehr
probier mal so:
...
5 = LOAD_REGISTER
5.imgCounter.stdWrap {
cObject = TEXT
cObject {
data = register:imgCounter
wrap = |+1
}
prioriCalc = intval
}
Vielen Dank für den Hinweis. Habe gerade gesehen, dass in der Template-Analyse ein Fehler ausgegeben wird.
Deinen Ansatz nutze ich bereits, um die anderen Zähler hoch zu zählen(um zu sehen, ob 3 Bilder in der Gruppe sind).
Nur benötige ich jetzt die Gesamtanzahl der Bilder in dem Contentelement.
Denn meine Idee war:
wenn Gesamtanzahl = Counter dann Ausgabe der schließenden Tags.
Bislang gebe ich die schließenden Tags nach jedem 3. Element aus, aber das funzt natürlich nicht, bei z.B. 5 Elementen.
Oder andersrum, nach Ausgabe des letzten Bildes sollen die schließenden Tags ausgegeben werden.
PS:In der TSRef steht bei Files, dass es stdWrap unterstützt, darum dachte ich, das numRows funktionieren sollte.
Jetzt bin ich etwas weitergekommen. Die Anzahl der Bilder steht ja im Feld images in der tt_content.
Also habe ich mal zum Test versucht, dieses Feld auszulesen. Wenn ich bei 5.data die uid direkt eintrage, also
5.data = DB:tt_content:39:image
funktioniert es. Mit TSFE:id aber nicht. Wie kann ich hier die aktuelle ID erhalten/einfügen.
30 = FILES
30 {
references {
table = tt_content
uid.data = field:uid
fieldName = image
}
renderObj = COA
renderObj {
5 = TEXT
5.data = DB:tt_content:TSFE:id:image
5.wrap = <h3>|</h3>
5.insertData = 1
Falls es jemand hilft, so bekommt man die Anzahl der Bilder. (Typoscript ist gut, aber leider nicht immer intuitiv, bei so einfachen Dingen)
5 = TEXT
5.dataWrap = DB:tt_content:{field:uid}:image
5.wrap3 = <h3>{|}</h3>
5.insertData = 1