[TYPO3-german] "Style-Selector" in Typo3

Christian Wolff Chris at connye.com
Thu May 8 21:52:12 CEST 2008


Hi Markus auf grund der Langen mail und der vielen einzelnen fragen werd  
ich die antworten immer
zwischen drin geben ich glaub das ist einfacher so siehst du auf was ich  
mich beziehe.

[...]
> Das ist schon einmal sehr gut. Verrätst Du mir auch Quellen, Links etc.  
> wo ich weitere Infos dazu kriege? Vor allem dieser Color-Selektor  
> interessiert mich sehr, da es das ganze für den Kunden sehr einfach  
> machen würde.

Wenn du so ein mit hilfe des Kickstarters ein Modul erstellt hast hast du  
eigendlich
völlige kontrolle über deinen html Quellcode.
es gibt im web diverse color selectoren.. hab jetzt gerade keinen greifbar.
ich persönlich arbeite gerne auf basis der jquery javascript bibliothek.
deswegen hier ein color-picker der jquery als basis nimmt.
http://recurser.com/articles/2007/12/18/jquery-simplecolor-color-picker/
gibt aber im netzt noch 1000 andere...  du must halt sehen was deinen  
ansprüchen entspricht.

[...]
>> diese constatnen könntest du dann sowohl im TypoScript template  
>> verwenden.
>> als auch zur erstellung von inline CSS oder zur erstellung eines Page   
>> Types den du als CSS Style sheet verwendest.
> Das habe ich (dank meiner bisher begrenzten T3-Kenntnisse) noch nicht  
> verstanden. Dass ich die eigegebenen Style-Werte des Kunden in den  
> TS-Constanten speichern kann ist klar. Dazu brauche ich ja nur den  
> constants-Eintrag des entsprechenden TS-Templates in der DB ändern.
>
> Aber wie kann ich jetzt Typo3 z.B. sagen "Wenn die Seite des Kunden ABC  
> aufgerufen wird, benutze für die Farbe der Navigation den Wert der  
> TS-Konstante myExt_navColor_kundeABC"?

in typo3 hast du ja üblicher weise
einen seitenbaum:

zb.
root (id 1)
  + kunde 1 (id 2)
     + seite 1 (id 3)
     + seite 2 (id 4)
  + kunde 2 (id 5)
     + seite 1 (id 6)
     + seite 2 (id 7)
  + kunde 3 (id 8)

in root (id 1) hättest du jetzt das "allgemeine" template das und die  
default konstanten
z.b überschriften blau mit 14px navigation rot
das sähe dann ungefähr so aus:
myext_header_color = #0000ff
myext_header_size = 14px
myext_header_navigation_color = #ff0000


auf jeder kunden seite
kunde 1 / kunde 2 /kunde 3 hättest du eine extension template.

sprich wenn bei kunde 1 (id 2) in den constants jetzt folgendes stände:
myext_header_color = #00000

würde einfach die vererbte konstante mit dem neuen wert überschrieben  
werden.
und sich dann auch weiter auf unter seiten vererben.


> Kann ich aus Typoscript heraus sämtliche Stylesheet-Eigenschaften, die  
> irgendwo in einem Stylesheet definiert sind, überschreiben? Falls ja wie?
  Jein! also CSS gibt dir die möglichkeit in einem zweiten stylesheet alle  
basis einstellungen zu überschreiben.
dein html head könnte dann also ungefähr so aussehen:
<head>
	<title></title>
	<link rel="stylesheet" src="/fileadmin/templates/default.css" />
	<style>
	{{... hier die dynamisch erzeugten CSS eienschaften.}}
	</style>
</head>

diesen style tag könntest du relativ einfach über typoscipt generieren

z.b so:

page.headerData.10 (
	<style>
		h1,h2,h3,h4,h5,h6  
{color:{$myext_header_color};font-size:{$myext_header_size}}
		.navigation {background-color:{$myext_header_navigation_color}}
	</style>
)


>
> Das ganze muss ja dann so dynamisch sein, dass ich nicht für jeden neuen  
> Kunden extra eine Bedingung in das TS-Setup einfügen muss,
[...]
das oben aufgeführte typoscript würde dann natürlich auf der root seite  
deinens konstruktes
stehen und auch ordenlich vererbt werden so das jede unterseite problemlos  
ihr script generiert.

>
>   >vorteil davon währe das das du lediglich ein einziges datenbank feld  
> mit
>  > werten befüllen must. "keine komplizierten" operationen wie
>> CSS  styles sheets in datei schreiben.
>> sondern die definierten werte währen überall in typo3 verfügbar egal ob  
>> du  sie im CSS template oder sonst benötigst.
> Guter Punkt, das ist in der Tat einfacher.

hierzu fällt mir gerade noch ein das dein modul im zweifelfall falls es  
noch kein extension template gibt
dieses natürlich anlegen sollte. aber auch das ist ja nur ein sql-query  
mehr.
>
>> würde dir dann noch empfehlen deine constanten mit etwas wie myExt_ zu   
>> prefixen so das du keine probleme bekommst und nicht
>> mit anderen konstanten in berührung kommst.

myExt sollte natürlich der extension key sein den du dir für dein projekt  
auf typo3.org
registriert hast vieleicht entschließt du dich ja irgendwann das modul  
öffentlich zu machen.

ich hoffe das konnte dir jetzt ein bischen mehr einblick in das geben was  
ich versucht habe dir zu erklären
falls noch fragen offen sind einfach fragen :)

gruss chris

-- 
Christian Wolff // Berlin
http://www.connye.com

Latest Projects:
http://www.flycall.de | http://www.atr24.de | http://www.titanic.de


More information about the TYPO3-german mailing list