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

master
 2006-05-09 19:21
#7495 #7495
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@renee

Gut so :-)

Ich habe mir CPAN:HTML::Template
kurz angesehen, für einfache Sachen reicht es aus.

der author schreibt:
Quote
If you're a fanatic about valid HTML and would like your templates to conform to valid HTML syntax, you may optionally type template tags in the form of HTML comments.


ev. Sollte ich auch das nutzen, statt selber zu parsen.
Habe eine sehr ausgereifte methode entwickelt.


ps. kannst Du mir mir ev sagen, wie ich folgendes tun kann?

1. Syntax ändern... so dass z. B. statt
Code: (dl )
 <img src="<--TMPL_VAR IMAGE_SRC-->">

schreiben kann:
Code: (dl )
 <img src="TMPL_VAR IMAGE_SRC">


Also "ohne HTML kommentar" so das es html-konformer text ist, falls ich es möchte

2. In einen eigenen Loop spirngen
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
z. B.
<TMPL_LOOP NAME=EMPLOYEE_INFO>
Name: <TMPL_VAR NAME=NAME> <br>
Job: <TMPL_VAR NAME=JOB> <p>
</TMPL_LOOP>



$template->param(EMPLOYEE_INFO => [
{ name => 'Sam', job => 'programmer' },
{ name => 'Steve', job => 'soda jerk' },
]
);


hierbei ist man zu sehr einggeengt:


Ich will folgendes in der art:
Code: (dl )
1
2
3
4
5
6
7
8
$template->sub(EMPLOYEE_INFO => &mein_loop($loopinhalt) );

sub meinloop
{
hier will ich nun den Code Zwischen dem
"<TMPL_LOOP NAME=EMPLOYEE_INFO>" und "</TMPL_LOOP>"
- Tag bearbeiten und ändern... dann zurück schreiben.
}


ps. meinloop brauche ich, da dort alles gemanaget werden soll.
bzw. der Code modifiziert und dann dem $template zurückgegeben werden.

Wenn das nicht möglich ist, kannn ich das modul nicht nutzen.

Oder auch simpler erklärt

Gib mir den Templatecode zwischen
Code: (dl )
1
2
3
<TMPL_LOOP NAME=EMPLOYEE_INFO>
___ CODE ___
</TMPL_LOOP>


Ich bearbeite, ihn und gebe ihn dann an der entsprechenden Stelle zurück.

Wenn ich z.B. unzählige funktionen, berechnungen, bei jedem loop durchlauf machen will.. oder einfach ein for(1..1000){}
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Antworten mit Zitat

View full thread Lösch Button