[TYPO3-german] TS Inhalt der Spalten beeinflusst Template

bernd wilke t3ng at pi-phi.tk
Sat Aug 7 12:24:15 CEST 2010


Am Sat, 07 Aug 2010 09:49:19 +0200 schrieb Marco Brüggemann:

> Guten Morgen Bernd,
> 
> Danke für deine frühe Antwort. ......
> 
> bernd wilke schrieb:
>> [...]
>>   
>> das muss an etwas anderem liegen. vermutlich hast du keine Einbindungen
>> definiert?
>>
>>
> Ich habe eine Einbindung definiert ... Ich habe als Grundlage ein
> funktionierendes Template Mit Datei genutzt ... ich hänge mal zwei
> Dateien an: einmal mein ausgelagertes TS mit Datei, und einmal der
> Versuch mit mur TS

Anhänge am Posting sind bei mir keine vorhanden.
wichtig wäre: hast du explizite CSS-Einbindung über das TS, oder passiert 
das 'irgendwie hintenrum'. ich hatte die offizielle Einbindung als 
Beispiel angegeben.
 
>> [...]
>>
>> 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. [...]
>>   
> ich habe damals recht viel an der Inhaltsausgabe von cssStyledContent
> herrumgeschraubt (unprofessionell), dabei sind mir im TS Marker
> aufgefallen: bei tt_content.image.20.layout werden die Fälle für die
> Bildausrichtung unterschieden und dann eine art Template mit Markern als
> TEXT genutzt
> 
> 1 = TEXT
> 1.value = <div class="content_unit floatbox clearfix"><div
> class="csc-textpic csc-textpic-right
> csc-textpic-above###CLASSES###">###IMAGES## ####TEXT###</div><div
> class="csc-textpic-clear"><!-- --></div></div>


natürlich kannst du bei TEMPLATE- Objekten das Template nicht nur aus 
einer Datei holen, sondern im TS angeben. 
Die Property 'template' ist vom Typ cObjekt. Das kann alles mögliche 
sein. meistens ist es FILE, aber TEXT oder COA ginge auch.


>> Etwas unschön sind deine
>> unübersichtlichen DIV-tags. daher würde ich folgende Struktur
>> bevorzugen:
>>   
> Diese Vielen DIV-tags finde ich auch nicht schön und sind einer
> aufwendigen Schattenkonstruktion geschuldet die sich dynamisch an die
> visuelle Page anpasst.
> Aber ich werde da noch was mit wraps machen.
>  Am Rande: Wraps kann ich nicht direkt hintereinander verschachteln?
>  also
> 
> 10 = TEXT
> 10.value = Hallo
> 10.wrap = <div class="box01"> | </div> 10.wrap = <div class="box02"> |
> </div> [...]
> 10.wrap = <div class="box09"> | </div>
> 
> die beste Lösung diese?
> 10 = TEXT
> 10.value = Hallo
> 10.wrap = <div class="box01"><div class="box02">[...]<div class="box09">
> | </div></div></div></div></div></div></div></div></div>

ich glaube dazu würde ich dann tendieren
 
> oder verschachteln mit Objekten? (weiss nicht genau ob die Syntax
> stimmt) 10 = TEXT
> 10 {
>     10 = TEXT
>     10 {
>         10 = TEXT
>         10 {
>             10 = TEXT
>             10 {
>                 10 = TEXT
>                 10 {
>                     10 = TEXT
>                     10 {
> [...]
> 10 = TEXT
> 10.value = Hallo
> [...]
>                     }
>                     10.wrap = <div class="box04">
>                 }
>                 10.wrap = <div class="box05">
>             }
>             10.wrap = <div class="box06">
>         }
>         10.wrap = <div class="box07">
>     }
>     10.wrap = <div class="box08">
> }
> 10.wrap = <div class="box09">

wenn das statt TEXT COAs wären ginge es (das innerste bleibt natürlich 
TEXT). 
aber bei den Wraps nicht das Ende vergessen: <div class="box?"> | </div>


 
> Oder was ich toll finden würde (wie bei den tt-content-markern) 10 =
> TEXT
> 10.value = <div class="box01"><div class="box02">[...]<div
> class="box09"> ###MARKER###
> </div></div></div></div></div></div></div></div></div> [...]
> irgendwo dann: nutze Objekt 10 als TEMPLATE und ersetze die MARKER mit
> Inhalten. (weiss nicht wie)

s.o.

>> 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]
>>
>>
> Meine Vorstellungen sind ungefähr so:
> 
[...]

ich habe jetzt mal überlegt warum mir das nicht zusagt.
was mich an diesem Ansatz irritiert ist die willkürliche Nutzung der 
Spalten und das 'Zusammenrutschen' unabhängig davon welche Spalte gefüllt 
ist.
Bei meinen Installationen benutze ich die Spalten für bestimmte Bereiche 
und baue das CSS so auf dass jede Spalte ihren spezifischen DIV-Wrap hat. 
Sollte eine Spalte leer sein dann fehlt dieses DIV {1} und die übrigen 
HTML-Elemente ordnen sich entsprechend dem CSS anders an.
Grundlegende Layoutunterschiede wie z.b. Teilungen 1:3, 1:1, 3:1 können 
dann über die layout-Eigenschaft der Seite festgelegt werden [2]

{1}
Wenn ich alles in ein TS-Objekt packe (inkl. DIV-wrap) kann TYPO3 
entscheiden ob für dieses Objekt überhaupt etwas ausgegeben wird (z.B. 
stdWrap.required). Wenn der DIV-wrap im HTML-Layout/ HTML-Template fest 
eingebaut ist kann er natürlich nicht einfach ausgeblendet werden und es 
erfordert eine Logik um das HTML-Template auszutauschen.

also im HTML-Template eher so
<!-- ###BODY### start -->
	###HEADER###
	###MIDDLE###
	###FOOTER###
<!-- ###BODY### stop -->

<!-- ###MIDDLESUBPART### start -->
	###LEFT###
	###RIGHT###
	###CONTENT###
	<div class="clear"><!-- --></div>
<!-- ###MIDDLESUBPART### stop -->
und alle div-wraps im TS 
statt 
<!-- ###BODY### start -->
<div class="body">
	<div class="header">###HEADER###</div>
	<div class="middle">###MIDDLE###</div>
	<div class="footer">###FOOTER###</div>
</div>
<!-- ###BODY### stop -->

<!-- ###MIDDLESUBPART### start -->
	<div class="left">###LEFT###</div>
	<div class="right">###RIGHT###</div>
	<div class="content">###CONTENT###</div>
	<div class="clear"><!-- --></div>
<!-- ###MIDDLESUBPART### stop -->
und dann das HTML-Template auszutauschen wenn die linke und/oder rechte 
Spalte mal leer ist



>> Bernd
>>
>> [1] http://ug.typo3-nrw.de/mastertemplate.html
>> [2] http://www.pi-phi.de/191.html

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list