Zum Inhalt springen

Content spezifisches Layout anlegen

Erstellt am 4. Juni 2011 · 2 Antworten · letzte Antwort am 5. Juni 2011

Tags: Inhaltselemente, Frage

ticha ·

Hallo Leute,

ich bin bei ypo3 noch recht "frisch" und bin dabei mir Typoscript anzueignen. Dazu habe ich schon mehrer Ttorials gelesen und muss sagen, dass ich es kompliziert finde und zur Zeit einen Knoten im Kopf habe. Aber das hatte ich schon bei mehreren Sprachen, sobald es aber mal Üklick* gemacht hat, war das alles kein problem mehr.

Zur Zeit bin ich dabei für einen Content Typ verschiedene Layouts zu ersellen. Ich weiss auch wie ich an die Sachen herankomme, ich verstehe nur nicht, wie ich die Fallabfrage mit dem definieren des Outputs von CSS-Sytled-Content definiere. Über die Layout funktin der "Page" funktioniert es ohne probleme. Ich hätte aber gerne, dass ich für jedes content Element entscheiden kann, welches Layout er benutzen soll. Ziel ist es, dass ich sagen "Du Content wirst in <div> blöcken dargestellt und Du Content als <table>".

Über die Page Funktion habe ich es so gelöst:

[globalVar=TSFE:id|0]
 tt_content.image.20 {
   rendering {
     simple {
       caption.wrap = <div class="csc-textpic-caption"> | </div>
       imageStdWrap.dataWrap = <div class="csc-textpic-imagewrap csc-textpic-single-image" style="width:{register:totalwidth}px;"> | </div>
       imageStdWrapNoWidth.wrap = <div class="csc-textpic-imagewrap csc-textpic-single-image"> | </div>
     }
   }
 }

Das nimmt bestimmt aber dann das Layout für die gesamt Seite.

Dann habe ich recherchiert und herausgefunden, dass keine TSFE "Objekt" existiert und das man sich diese werte aus der Datenbank fummeln muss.

Daraus habe ich diesen Code gefummelt:

page = PAGE

page.includeCSS {
     file1 = fileadmin/css/screen.css 
}

page.10.marks{
PAGE_CONTENT.renderObj.stdWrap.innerWrap.cObject=CASE
PAGE_CONTENT.renderObj.stdWrap.innerWrap.cObject{
key.field = header_layout
 
// layout 0
default=TEXT
default.value=<div class="layout0">|</div>
 
// layout 1
1=TEXT
1.value=<div class="layout1">|</div>
 
// layout 2
2=TEXT
2.value=<div class="layout2">|</div>
 
// layout 3
3=TEXT
3.value=<div class="layout3">|</div>
}
}
page.20 < temp.template

Nur übergeht die ganze Abfrage total 0o

Kann mir hjemand helfen den Knoten zu lösen? 0o

Danke im Vorraus