Thread Lösch Button (60 answers)
Opened by haijp at 2006-05-09 12:24

Strat
 2006-05-11 22:33
#7522 #7522
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=master,11.05.2006, 19:39]Ja, eigentlich müsste es dann aber extern sein (externes Logiksystem), nicht im template, nicht im Code.
[/quote]
dann willst du noch eine zwischenschicht zwischen template und perl einfuehren? da steigen wohl die meisten designer nicht durch; besser html mit ein paar minimalkommandos, die koennen sie in 0,nix verstehen und verwenden, und koennen so auf grundsaetzliche sachen reagieren, z.B.
Code: (dl )
1
2
3
4
5
<TMPL_IF NAME=UserIsLoggedOn>
<TMPL_INLUCDE NAME="UserMenu.tmpl">
<TMPL_ELSE>
<TMPL_INCLUDE NAME="GuestMenu.tmpl">
</TMPL_ELSE>

und so das richtige menue dort positionieren, wo er es haben will (vielleicht auch mit CSS, aber das ist dann seine entscheidung und unabhaengig vom perl-programmierer, der nur UserIsLoggedOn bereitstellen muss)

Viele Infos bekommt der Perl-Programmierer sowieso einfach in Hash-Form (z.B. via DBI, via $cgi->Vars, via Net::LDAP, DB_File,...), also ohne irgendwelche if-abfragen, die er nicht sowieso machen muss, um an noetige Infos (z.B. aus einer Datenbank) zu kommen. Somit habe ich auch keinerlei Hemmungen, auch ein select folgendermaszen zu erstellen
Code: (dl )
1
2
3
4
5
6
7
<select name="bla" ....>
<tmpl_loop name=bla>
<option value="<tmpl_var name=option>"
<tmpl_if name=selected>selected="selected"</tmpl_if>
><tmpl_var name=text></option>
</tmpl_loop>
</select>

wenn man die optionen selected mit einer einfachen transformation bereitstellen kann

wenn du in den templates keine if's verwenden willst, dann tu's halt (vorerst?) nicht.


[quote=master,11.05.2006, 19:39]
Naja noch benutze ich mein reguläres-Ausdruckssystem. und möchte eigentlich mit Template arbeiten. Aber im nachhinen überlegt bin ich mit der alten Methode einiges schneller,
da nicht nach einer speziellen Syntax gesucht werden muss usw.
regular = so mache ich es momentan
[/quote]
nicht unbedingt; du brauchst ja selbst auch eine spezielle syntax, die du selbst parsen musst. Und mit regulaeren ausdruecken ist man halt sehr eingeschraenkt, z.B. ist es da nicht so einfach, dynamische datentabellen in schleifen zu befuellen. die meisten templating systeme cachen nebenbei ziemlich gut.
Funktioniert dein templating system eigentlich auch in persistenten umgebungen wie z.B. mod_perl oder FCGI?


[quote=master,11.05.2006, 19:39]
Mit Evals = wäre nicht sinvoll.
[/quote]
warum nicht? ich vermute, es duerfte gerade bei komplexeren templates schneller sein als mit REs

[quote=master,11.05.2006, 19:39]
Dadurch ist mein HTML-Code zu 100% vom Perlcode getrennt.
Layout und Programmierung 2 Sachen.
Zudem kann ich den HTML-Code editieren, wie ich will..
nur will ich am liebsten das ganze nun alles mit dem Modul Template machen.. oder versuchen zu machen :-)
[/quote]

Versuch's einfach mal mit einem (z.B. CPAN:HTML::Template::Compiled koennte dir gut passen), und schau dir an, was sich da fuer dich aendert. Denn nur, weil man mit einem Templating System groben Unfug wie <%HTML%> machen kann, musst du das noch lange nicht nachmachen ;-)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Antworten mit Zitat

View full thread Lösch Button