[Frage] Anzahl der Bilder in einem Image Element bzw. Anzahl der Files.References [Gelöst] TYPO3-Version: 6.1.7

  • aromedia aromedia
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    21. 02. 2014, 13:39

    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:

    1. 30 = FILES
    2. 30 {
    3. references {
    4. table = tt_content
    5. uid.data = field:uid
    6. fieldName = image
    7. }
    8. renderObj = COA
    9. renderObj {
    10. 5 {
    11. imgCounter.stdWrap.numRows.30
    12. }

    Vielen Dank vorab, für jegliche Hinweise.

    Gruß
    Andy

  • aromedia aromedia
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    21. 02. 2014, 18:11 - Lösung

    Falls es jemand hilft, so bekommt man die Anzahl der Bilder. (Typoscript ist gut, aber leider nicht immer intuitiv, bei so einfachen Dingen)

    1. 5 = TEXT
    2. 5.dataWrap = DB:tt_content:{field:uid}:image
    3. 5.wrap3 = <h3>{|}</h3>
    4. 5.insertData = 1


  • 1
  • zabinetta zabinetta
    Sternenflotten-Admiral
    0 x
    178 Beiträge
    3 Hilfreiche Beiträge
    21. 02. 2014, 13:53

    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:

    1. ...
    2. 5.imgCounter.stdWrap {
    3. data = register:imgCounter
    4. wrap = |+1
    5. }
    6. }

  • aromedia aromedia
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    21. 02. 2014, 14:26

    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.

  • aromedia aromedia
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    21. 02. 2014, 17:31

    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

    1. 5.data = DB:tt_content:39:image

    funktioniert es. Mit TSFE:id aber nicht. Wie kann ich hier die aktuelle ID erhalten/einfügen.

    1. 30 = FILES
    2. 30 {
    3. references {
    4. table = tt_content
    5. uid.data = field:uid
    6. fieldName = image
    7. }
    8. renderObj = COA
    9. renderObj {
    10. 5 = TEXT
    11. 5.data = DB:tt_content:TSFE:id:image
    12.  
    13. 5.wrap = <h3>|</h3>
    14. 5.insertData = 1

  • aromedia aromedia
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    21. 02. 2014, 18:11

    Falls es jemand hilft, so bekommt man die Anzahl der Bilder. (Typoscript ist gut, aber leider nicht immer intuitiv, bei so einfachen Dingen)

    1. 5 = TEXT
    2. 5.dataWrap = DB:tt_content:{field:uid}:image
    3. 5.wrap3 = <h3>{|}</h3>
    4. 5.insertData = 1

  • 1