|
From: Thomas M. <mu...@th...> - 2004-04-04 20:50:57
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo,
ich habe die aktuelle netMilk-Version wieder soweit, das das Menü und
der Extensionmanager wieder auf dem alten Stand sind, diese Teile waren
durch ein paar Umstellungen vorerst zerbrochen.
Ausserdem eine interessante Neuerung in der Behandlung der Templates:
Mir gefiel die Idee nicht, dass in den Templates statisch vorhandene
Token wie {$TOC} für Table of Contents (das Menü) oder {$CONTENT}
vorhanden sind, die in allen Templates/Skins gleich sind. Das fand ich
zu unflexibel.
Ich habe jetzt den sog. $ttContentArray entworfen, der Gruppen-basierte
Daten der zu substituierenden Token enthält, sprich: Ein Template wird
über mehrere "slots" verfügen, die mit beliebigen Core- oder
Extension-Funktionen gefüllt werden können. Man stelle sich ein
Standard-Template vor, 4 "slots":
{$TOC}
{$CONTENT}
{$BANNER1}
{$BANNER2}
Beim erstellen einer Gruppe wird nicht nur das Template sondern auch der
Inhalt des jeweiligen $ttContentArray per SELECT-Feld (evt. später
Multi-select für mehrere Content-Objekte pro slot) angegeben.
Die Daten werden dann der Gruppe zugewiesen und in der DB gespeichert.
Der $ttContentArray könnte dann wie folgt aussehen:
"TOC" => "CORE:HTML_TreeMenu_DHTML"
"CONTENT" => "CORE:assembleContent"
"BANNER1" => "EXT:language_selector"
"BANNER2" => "CORE:sessionInfo"
Das ermöglicht ein wirklich flexibles Template-System, mit dem man jeder
Gruppe ein eigenes Skin und dazu gehörige Content-Elemente zuordnen
kann. So kann man z.B. auch sehr schnell mal ein Menü austauschen, oder
einfach zusätzliche slots im Template definieren und diese mit
beliebigen Extensions füllen. Ausserdem wären Skin-Entwickler nicht mehr
an eine so eingeschänkte Struktur gebunden.
btw.: Es gibt jetzt ein LiveUser-Wiki an dem ich mich beteilige.
http://pear.limbourg.com/
bye,
Murphy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFAcHcnwO0pDATctOARAjwIAJ0ed8WLuK4EOIihdZDCrBXJAlqZLwCePpji
vRh98XQPw5uVYBccpGgaAjs=
=zNMN
-----END PGP SIGNATURE-----
|