Mailinglisten-Archive |
On Son, 28 Jul 2002, Tobias Daur wrote: > Meinem HTMLer hilft es sehr, wenn ein Template nicht in tausend > Schnipsel geteilt wird, sondern je nach Komplexität an einem Stück > bleibt oder aber noch ein oder zwei Untertemplates hat. Dann behält er > die Übersicht. Dazu benötige ich aber Logik (Schleifen, Bedingungen) im > Template. Noe. ;-) Zum einen ist es selbstverstaendlich moeglich, Templates in mehrere Schnipsel zu zerteilen und jene nach Bedarf einzubinden. Dies klappt von Programmierer-Seite aus vorzueglich. Dies waere auch meine Vorgehensweise aus Programmierer-Sicht, da ich z.B. den Kopf- oder Fussbereich in eine einzige Datei schreiben und jene nach Bedarf einbinden wuerde - ganz nach dem include-Datei- Prinzip von PHP. Andererseits - und hier musste ich mich vom Designer auch erst ueberzeugen lassen - ist dieses Vorgehen in der Praxis mitunter gar nicht erwuenscht. Und zwar daher, weil die einschlaegigen HTML-Editoren das Bearbeiten mehrerer Dateien in sehr komfortabler Art und Weise zulassen, z.B. wenn eine Zeile im Kopfbereich geaendert werden soll, welche in mehreren Template-Dateien vorkommt, so passiert dies einfach indem die jeweilige Zeile markiert, editiert und dann mit zwei,drei Klicks in x-beliebig vielen Dateien geaendert werden kann. Somit existieren zwar viele HTML-Template-Dateien, in denen bis auf den Inhalts-Bereich dasselbe drinsteht, aber genau dies wurde vom Designer erwartet und kam dessen Arbeitsweise sehr entgegen. Was die "Unter-Templates" anbetrifft - ich schaetze, Du meinst Ausgaben, die von Fall zu Fall unterschiedlich aussehen sollen. Klassisches Beispiel - in einer Datenbank werden keine Datensaetze gefunden, weil noch nichts drin ist, oder es werden die Ergebnisse zeilenweise ausgegeben. Fuer den ersteren Fall braucht man somit eine entsprechende Fehlermeldung, die natuerlich nicht ausgegeben werden soll, wenn Datensaetze enthalten sind. Dazu bedient man sich einfach zweier Bloecke. Im ersten steht die Fehlermeldung. Im zweiten findet sich ein weiterer Block, indem eine Zeile der Ausgabe mit Platzhaltern enthalten ist. Der ersten Block wird (vom Skript aus gesteuert) im Fehlerfall ausgegeben, dabei wird der zweite durch einen Leerstring ersetzt, damit es zu keiner Ausgabe des zweiten kommt. Dasselbe umgekehrt - falls Ergebnisse vorhanden sind, wird der Fehlermeldungs-Block ausgeblendet, und die Ergebnisse im zweiten Block zeilenweise ausgegeben. Von Programmierer-Sicht ist dies ziemlich einfach zu implementieren, da die verschiedenen Faelle sowieso im Skript abgefangen werden muessen, damit es zu keiner unerwuenschten Ausgabe kommt. Und der Designer kann (falls er das wuenscht) alle Ausgaben in einer Templatedatei halten, ohne sich den Kopf ueber irgend welche Bedingungen zerbrechen zu muessen. > Außerdem soll er die Möglichkeit haben, die Dinge, die ihn direkt > betreffen, auch selber zu beeinflussen. Ein IMHO gutes Beispiel ist die > von mir schon erwähnte Möglichkeit, einen String nach einer bestimmten > Zeichenzahl abzuschneiden und mit einem "..." zu versehen. Hier muß der > HTMLer in seinem Code die Werte so lange ändern können, bis sein Code > paßt, ohne dafür auch nur ein Wort mit dem Programmierer zu wechseln. Naja, Kommunikation zwischen Designer und Programmierer sollte trotz Einsatz von Templates noch moeglich sein. ;-) Wobei - das von Dir erwaehnte Beispiel mag vielleicht sinnvoll sein. Andererseits ist das Abschneiden nach x Zeichen eine klassische Aufgabe, die normalerweise im Skript passiert, bzw. eben bevor die Ergebnisse ins Template eingesetzt werden. Aber wie erwaehnt - der Code ist offen und kann gerne erweitert werden. Die Callback-Idee von Ulfs IT[x] fand ich beispielsweise nicht schlecht. > Arbeitsteilung. Templatesysteme wie PHPLIB sind IMHO einseitig aus > Programmierersicht entwickelt. Es geht ausschließlich um die Auslagerung > von HTML, alles andere bleibt in der Hand des Programmierers. Genau, denn da gehoert die Logik auch hin! Der Designer soll sich gar nicht darum kuemmern muessen. Wenn er will, kann er sich ja mit dem Programmierer kurzschliessen und absprechen. Ansaetze fuer bessere Arbeitsteilung oder Optimierung gibt es sicherlich immer. > Die umgekehrte Perspektive nimmt PHP-Temple von Jörg Krause ein: Auch > bei komplexeren Standardaufgaben wird keine Zeile PHP nötig, weil die > Templatesprache dem HTMLer alles bietet, was er benötigt. Super, noch 'ne Sprache... ;-) Warum sich dann nicht gleich mit XML/XSLT & Co beschaeftigen? > Aber Du hast mich neugierig gemacht - ich schaue mir Apolda noch mal in > Ruhe an :) Du meinst Apolda Template - Apolda ist 'ne Stadt in Thueringen - http://www.apolda.de ;-) Beste Gruesse, Ralf -- : www : http://www.bttr.org : mail: ralf_(at)_bttr.org : Eine Site rund um MySQL : http://www.bttr.org/mysql/ : Privacy now! My Public Key : http://www.bttr.org/geschke.asc
php::bar PHP Wiki - Listenarchive