Content Slide mit TemplaVoila

Aus Wikizone
Wechseln zu: Navigation, Suche

Quelle: http://www.lisardo.biz/wiki/Content-Slide-mit-TemplaVoila/ 7.4.2009

Content Slide mit TemplaVoila

Man kann Content Slide nicht nur mit dem klassischen Ansatz der vier Spalten im Backend erreichen, sondern auch mit TemplaVoila, allerdings ist das etwas kniffeliger. (Getestet mit Version 4.2).

Normalerweise erfolgt die Übernahme der Inhalte in TemplaVoila mit folgendem Code-Abschnitt in der XML-Flexform eines TemplaVoila-Datensatzes:

   <TypoScript><![CDATA[
   10= RECORDS
   10.source.current=1
   10.table = tt_content
   10.wrap =  | 
   ]]></TypoScript> 

Leider gibt es in RECORDS die slide-Eigenschaften nicht, nur in CONTENT. In CONTENT ist es widerum nicht möglich wie hier einfach mit »10.source.current = 1« auf die richtige Spalte zu verweisen. TemplaVoila speichert allerdings die alten Spalten nach wie vor:

  • wenn nur ein einziges Feld mit Inhalten gefüllt wird, so bekommt dieses automatisch colPos = 0
  • jedes weitere erhält eine höhere Nummer (dabei zählt die Reihenfolge in der XML-Datei)

Vermerkt wird die colPos-Nummer im XML von TemplaVoila so:

<oldStyleColumnNumber type="integer">1</oldStyleColumnNumber>

Man kann also nach wie vor darauf referenzieren. Der gesamte Code für einen Content-Slide sieht dann so aus:

 <TypoScript><![CDATA[
 # CONTENT statt RECORDS
 10 = CONTENT
 10.table = tt_content
 10.select.where = colPos=1
 # die eigentliche Slide-Anweisung
 10.slide = -1
 # optional
 10.slide {
   # Sammeln aller Einträge in der Rootline
   # collect = -1
   # collectReverse = 1
 }
 10.wrap =  | 
 ]]></TypoScript> 

Achtung: Wenn die Vorlage neu gemappt werden muss, kann dieser Code verloren gehen; also eine Sicherheitskopie anlegen. Hinweis

Da die Flexible Content Elements ebenfalls diese Nummern verwenden, kommt es beim Einsatz von FCEs zu Verwirrung. Man kann aber Nummern wählen, die zu hoch sind, als dass sie durch FCEs berührt werden könnten. Ich habe es mit 99 versucht, was gut geklappt hat:

 <TypoScript><![CDATA[
 # CONTENT statt RECORDS
 10 = CONTENT
 10.table = tt_content
 10.select.where = colPos=99
 # die eigentliche Slide-Anweisung
 10.slide = -1
 # optional
 10.slide {
   # Sammeln aller Einträge in der Rootline
   # collect = -1
   # collectReverse = 1
 }
 10.wrap =  | 
 ]]></TypoScript> 
 <oldStyleColumnNumber type="integer">99</oldStyleColumnNumber>
    </tx_templavoila>
   # usw