[TYPO3-german] Re: Re: Graphische Header (gifbuilder) abhängig von der Spalte / Col
Bernd Wilke
t3ng at pi-phi.tk
Wed Apr 27 11:34:56 CEST 2011
On 04/27/2011 10:54 AM, Björn Pedersen wrote:
> Am 27.04.2011 10:33, schrieb peter at alinbu.net:
>> Hallo und einen wunderschönen guten Morgen zusammen!
>>
>> Ich brauche für ein Projekt unterschiedlich gestaltete, graphische
>> Header je nach Spalte und finde nicht die richtige Möglichkeit, das
>> irgendwie über conditions zu regeln. Gedankenansatz, bei dem mir einfach
>> noch die Condition fehlt:
>>
>>
>> ######### Definition der Header-Images ############
>>
>> lib.headerForLeftColumn = IMAGE
>> lib.headerForLeftColumn {
>> ...
>>
>> 10 = TEXT
>> 10 {
>> fontColor = #00b0e6
>> ....
>> }
>> }
>>
>> lib.headerForMainColumn = IMAGE
>> lib.headerForMainColumn {
>> ...
>>
>> 10 = TEXT
>> 10 {
>> fontColor = #444444
>> ....
>> }
>> }
>>
>> ######### Condition ############
>>
>> lib.stdheader.10.1< lib.headerForLeftColumn
>>
>> [Condition, um die Hauptspalte zu identifizieren]
>> lib.stdheader.10.1< lib.headerForMainColumn
>> [global
>>
>> ################################################
>>
>>
>> Hat jemand einen Tipp für mich oder einen anderen Ansatz, wie ich die
>> Überschriften in verschiedenen Spalten / Websitebereichen auch
>> verschieden definieren kann?
>>
>> Herzlichen Dank!
>> Peter
>>
>>
>>
> Hallo,
>
> Falscher Ansatz! Nicht lib.stdheader ändern, sondern
> in den Spalten einen neuen Header zuweisen ( der TypoScript Object
> Browser hilft, die erforderlichen Einträge zu identifizieren).
>
> Alternativ lib.stdheader... als CASE mit Spalte als Key.
oder auch:
lib.stdheader.10.1 >
lib.stdheader.10.1 = COA
lib.stdheader.10.1 {
// right column :
2 = IMAGE
2 {
if.value = 2
if.isInList.field = colPos
altText.stdWrap.field = header
stdWrap.typolink.parameter.field = header_link
file = GIFBUILDER
file {
// render header as graphic
:
something
:
}
}
// version for other than right column:
3 < .2
3 {
if.negate = 1
file {
:
something different
:
}
}
}
durch das Kopieeren "3 < .2" wird die grundkonfiguration übernommen und
man muss nur noch die Unterschiede angeben (andere breite, farbe, ...),
während wichtige Dinge gleich bleiben (font, hintergrundbild, ...)
> Warum? Das TS wird einmal geparst (und dabei die Conditions ausgewertet)
> und dann werden die jeweiligen Objekte ausgeführt.
> Zum Zeitpunkt der Condition-Auswertung sind noch keine Informationen
> über die Spalten bekannt.
anders ausgedrückt:
Conditions beziehen sich immer auf die gesamte Seite.
um einzelne Teile einer Seite unterschiedlich zu behandeln muss man
andere Maßnahmen ergreifen.
Da Typoscript aber keine Programmiersprache ist, muss man anders denken!
es gibt eben kein
if (bedingung) then
do something
else
do something different
bernd
More information about the TYPO3-german
mailing list