[TYPO3-german] TS Inhalt der Spalten beeinflusst Template
bernd wilke
t3ng at pi-phi.tk
Sat Aug 7 04:21:03 CEST 2010
Am Fri, 06 Aug 2010 23:25:00 +0200 schrieb Marco Brüggemann:
[...]
> # 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.
das muss an etwas anderem liegen. vermutlich hast du keine Einbindungen
definiert?
page {
includeCSS {
default = {$path}css/default.css
:
}
}
> 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.
dein Ansatz oben (Das was ich zitiert habe) ist schon ganz gut. Natürlich
gibt es dabei keine Marker/Subparts, sondern nur die Zahlen. Das was
normalerweise Marker sind ist hier 20 bis 90. Etwas unschön sind deine
unübersichtlichen DIV-tags. daher würde ich folgende Struktur bevorzugen:
dies ist jetzt nur ein Ansatz und nicht vollständig (es fehlen einige
Definitionen, die du in [1] finden kannst).
temp.headerarea = COA
temp.headerarea {
10 = IMAGE
10 {
file ....
wrap = <div class="logo">|</div>
}
20 < temp.mainmenu
30 < temp.breadcrumb
wrap = <div class="headerarea">|</div>
}
temp.middlearea = COA
temp.middlearea {
10 < temp.leftcolumn
20 < temp.rightcolumn
30 < styles.content.get
30.wrap = <div class="content">|</div>
wrap = <div class="middle">|</div>
}
page {
10 < temp.headerarea
20 < temp.middlearea
30 < temp.footerarea
}
Das Prinzip:
möglichst klein mit temp.XXXX definieren und jeweils mit einem wrap das
ganze in das zugehörige DIV-Tag einpacken.
Wie das Endergebnis dann aussieht kannst du am besten im Objektbrowser
sehen, wenn die ganzen temp-Objekte aufgelöst wurden. in etwa so:
page {
10 = COA
10 {
10 = IMAGE
10.wrap = <div class="logo">|</div>
20 = HMENU
20.wrap
30 = HMENU
30.wrap
wrap = <div class="headerarea">|</div>
}
20 = COA
20 {
10 ...
20 ...
30 ...
wrap = <div class="middle">|</div>
}
30 = COA
30 {
10 ...
20 ...
wrap = <div class="footerarea">|</div>
}
}
(natürlich kannst du es auch direkt in dieser Struktur definieren)
bei Bedarf können die temp.XXX natürlich (HTML-)Templates nutzen. Das ist
normalerweise aber nicht notwendig.
Durch diesen reinen Typoscript-Ansatz ist die Flexibilität natürlich sehr
hoch. innerhalb des Typoscripts kann ich einzelne Elemente ausblenden
oder redifinieren (Zb. in Conditions), ohne unterschiedliche HTML-
Templates nutzen zu müssen.
siehe auch: [1], [2]
und bitte die öffnenden und schließenden div-Tags möglichst jeweils als
ein wrap in einer Zeile definieren
> 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.
mitzählen geht vermutlich mit register-Variablen, Ich würde aber eher
passende wraps (spezielle CSS-Klassen) zuordnen, um einzelne 'Spalten'
bzw. Bereiche auszublenden.
Oder das Layout wird nicht automatisch, sondern durch den Redakteur in
den Seiteneigenschaften festgelegt [2]
TYPO3 ist so vielseitig, dass es für dein Problem sicher ein Dutzend
verschiedener Lösungen gibt.
Bernd
[1] http://ug.typo3-nrw.de/mastertemplate.html
[2] http://www.pi-phi.de/191.html
--
http://www.pi-phi.de/cheatsheet.html
More information about the TYPO3-german
mailing list