Hallo,

In Typo3 gibt es ja die 4 Spalten die man jeweils mit Content befüllen kann:
styles.content.get / styles.content.getLeft / styles.content.getRight / styles.content.getBorder

Ich möchte ein Template haben, welche erst in die Spalten guckt ob Inhalte drin sind, und dann das Template so modifizieren dass Die Inhalte richtig dargestellt werden.

Was ich sonst genutzt habe hat leider nur zwei Fälle unterschieden:

# PAGE-OBJEKT
# ------------------------------------------------------------
page = PAGE
page {
 10 = COA
 10 {
   if.isTrue.numRows < styles.content.getRight
   10 = TEMPLATE
   10 {
     template = FILE
     template.file = fileadmin/templates/html/MT_zweispalte.htm
     workOnSubpart = DOCUMENT_BODY
     subparts.MENU < tmp.MENU
     subparts.CONTENT < styles.content.get
     subparts.CONTENTRIGHT < styles.content.getRight
     subparts.FOOTERMENU < tmp.FOOTERMENU
   }
 }
 20 = COA
 20 {
   if.isFalse.numRows < styles.content.getRight
   10 = TEMPLATE
   10 {
     template = FILE
     template.file = fileadmin/templates/html/MT_vollseite.htm
     workOnSubpart = DOCUMENT_BODY
     subparts.MENU < tmp.MENU
     subparts.CONTENT < styles.content.get
     subparts.FOOTERMENU < tmp.FOOTERMENU
   }
 }

nun hatte ich das probiert:

tmp.FOOTERMENU = HMENU
tmp.FOOTERMENU {
   special = directory
   special.value = {$footermenu.pid}
   1 = TMENU
   1 {
       NO.allWrap = <li> | </li>
       wrap = <ul> | </ul>
   }
   wrap = <div id="footer"> | </div>
}

# TEMPLATE NACHBAU
# ------------------------------------------------------------
tmp.headerarea = COA
tmp.headerarea {
   10.value = <div id="header"></div>
}

tmp.contentnormal = COA
tmp.contentnormal {
   if.isTrue.numRows < styles.content.get
   10.value = <div id="content" class="neben">
   20 < styles.content.get
   30.value = </div>
}

tmp.contentleft = COA
tmp.contentleft {
   if.isTrue.numRows < styles.content.getLeft
   10.value = <div id="contentleft" class="neben">
   20 < styles.content.getLeft
   30.value = </div>
}

tmp.contentright = COA
tmp.contentright {
   if.isTrue.numRows < styles.content.getRight
   10.value = <div id="contentright" class="neben">
   20 < styles.content.getRight
   30.value = </div>
}

tmp.contentborder = COA
tmp.contentborder {
   if.isTrue.numRows < styles.content.getBorder
   10.value = <div id="contentborder" class="neben">
   20 < styles.content.getBorder
   30.value = </div>
}

# PAGE-OBJEKT
# ------------------------------------------------------------
page = PAGE
page {
   10 = TEXT
10.value = <div id="page"><div id="box1"><div id="box2"><div id="box3"><div id="box4"><div id="box5"><div id="box6"><div id="box7"><div id="box8"><div id="box9">
   20 < tmp.headerarea
   30 = TEXT
   30.value = <div id="content">
   40 < tmp.contentleft
   50 < tmp.contentnormal
   60 < tmp.contentright
   70 < tmp.contentborder
   80 = TEXT
   80.value = </div>
   90 < tmp.FOOTERMENU
   100 = TEXT
   100.value = </div></div></div></div></div></div></div></div></div></div>
   }

Es funktioniert so weit, dass ich Inhalte aus der Datenbank aufgelistet bekomme, doch leider ohne CSS-Einbindung usw. ich vermute es hat was mit "TEMPLATE" zu tun.

Meine ERSTE wichtige Frage:
Kann ich das Template ohne File aufbauen? Wenn ja .. bitte ein Beispiel oder eine Hilfe. Ich habe zwar TS-Bücher und auch schon vieles im Web gesucht, aber nocht nichts so richtig gefunden. Also: kann man zum Beispiel MARKER und SUBPARTS usw über TypoScript definieren .. alles ganz ohne FILE.

ZWEITE Frage:
Kann ich, nachdem ich mit "if.isTrue.numRows < styles.content.get" geprüft habe, die Inhalte zwischenspeichern und gleichzeitig mitzählen wieviele Spalten belegt sind? Danach möchte ich in Abhängigkeit der Anzahl von belegten Spalten entscheiden welches Template genutzt wird und dann jeweils die Inhalte in den Zwischenspeichern in die Template-Bereiche Speichern.

Gruß, Marco.
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an