Typo3 TypoScript: Gesamtzahl der Bilder ermitteln kommaseparierte Liste

Beim Upload von mehreren Bildern in ein TemplaVoilà FCE oder ein Content-Element werden die Bilder als kommaseparierte Liste in der Datenbank gespeichert. In folgendem Beispiel sollten bei einem FCE alle hochgeladenen Bilder in einer Zeile ausgegeben werden. Dazu musste ermittelt werden, was die Gesamtzahl der hochgeladenen Bilder war und anhand dieser Summe automatisch berechnet werden, wie breit ein Bild sein muss. Zusätzlich sollten alle Bilder mit einem DIV gewrappt werden, das als Breite 100/“Gesamtzahl Bilder“ Prozent breit ist.

Um es noch ausgefeilter zu machen sollte das DIV um das erste und letzte Bild mit der Klasse „first“ bzw. „last“ gewrapped werden.

Für Suchmaschinen: Gesamtzahl Bilder in Upload-Feld ermitteln TypoScript. Get total number of images Typoscript. Typoscript split token cObjNum SPLIT_TOTAL. totalImages imagesCount Typoscript. Kommaseperierte Liste Bilder Gesamt. Uploads Bilder insgesamt als Zahl in Typoscript ausgeben.

10 = COA
10 {
   
   3 = LOAD_REGISTER
   3.SPLIT_TOTAL.cObject = TEXT
   3.SPLIT_TOTAL.cObject.value = 0
   
   4 = TEXT
   4.value.field = field_bbalken_content
   4.value.split {
      token = ,
      cObjNum = 1
      1 {
         4 = TEXT
         4.value.cObject = LOAD_REGISTER
         4.value.cObject {
            SPLIT_TOTAL.cObject = TEXT
            SPLIT_TOTAL.cObject {
               data = register:SPLIT_TOTAL
               wrap = |+1
            }
            SPLIT_TOTAL.prioriCalc = 1
         }
      }
   }



  20 = TEXT
  20 {

    value.field = field_bbalken_content
    value.split {
      token = ,
      cObjNum = 1 |*| 2 |*| 99
      
      1 {
        5 = TEXT
        5.cObject = TEXT
        5.cObject {
           data = register:SPLIT_TOTAL
           wrap = 100/|
           insertData = 1
        }
        5.prioriCalc = 1
        5.dataWrap = 
10 = IMAGE 10 { file { import.current = 1 import = uploads/tx_templavoila/ format = jpg maxW.cObject = TEXT maxW.cObject { data = register:SPLIT_TOTAL wrap = 950/|*1.5 } maxW.prioriCalc = 1 } } 15 = TEXT 15.value =
} 2 < .1 2.5.dataWrap =
99 < .1 99.5.dataWrap =
99.5.dataWrap.override =
99.5.dataWrap.override.if { value = 0 equals.data = register:SPLIT_COUNT } } stdWrap.dataWrap =
|
} }

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.