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

master
 2006-05-10 16:40
#7497 #7497
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@pq

Naja das Problem ist eben, das ich "alles" machen muss.
Es geht hier um weit mehr als nur ein Standardtemplate.


Momentan habe ich es (ohne Modul) so gelöst.
Damit Du weisst was ich meine. Hier der "Code" meines Systems:

HTML-Vorlage
Code: (dl )
1
2
3
<--!Loop-->
<b>Name Alter</b><br>
<--!Loop-->


Nun wird nach Loop gesplittet und Wert ersetzt.
Ich habe aber die volle Kontrolle, wie oft der Wert dargestellt werden soll. z. B. so

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$code = mein template htmlcode, bzw. die stelle aus loop

#splitten. ($head, $loop, $foot)
$code = $head;

for $i (1..20)
{
print $loop_code;
# Jetzt sehr viel damit machen
# hier müssen gewisse Variabeln ersetzt werden, oder dynamische änderungen, berechnungen

$code = $code.$loop_code;
}
$code = $code. $foot;

print $code; #oder in File


Vorallem soll der $loop nur ausgegeben werden wenn
ein inhalt existiert...

Ich möchte ganz klar "NICHT" die Template-IF abfrage nutzen.
möglichst nur Loop und Variable. Die Abfragen müssen in Perl sein.

Zudem muss ich ja auch HTML-Teile ein oder ausblenden können. Z.b. so das der Loop gar nicht angezeigt wird beim Fall X, oder Fall Y.. und das muss in Perl sein,
Templates-IF kommt nicht in Frage, sowas ist schlecht. Nicht so wie beim Coldfusion!
Nur "ersetzungen und loops" rest als perlcode.
Mein Template soll reiner HTML sein. Die einzige Ausnahme ist der <!--TMPL_LOOP--> Kommentar. Die Variablen will ich nicht via <!--TMPL_Var name=""-->
sondern auf die Art ansprechen "TMPL_"+Variablenname

Grund:
Code: (dl )
1
2
3
4
<TMPL_VAR NAME=NAME> = nicht html konform
alternative:
<!--TMPL_VAR NAME=NAME--> = Unsichtbar in den Editoren!
TMPL_Varname = immer sichtbar (wird als text interpretiert)



Darum muss ich
1. Syntax ändern können
2. Vollzugriff auf alle funktionen vom Loop.
(um im notfall "on the fly" den code zu modifizieren und dem templateobjekt zurückgeben)

----
Ausserdem brauche ich den Zugriff auf den vollen Code der ausgegeben werden soll.. ohne ihn auszugeben!
Code: (dl )
$code = $template->Ganzer_CODE();


Schliesslich will ich den Code ja z.b. abspeichern, statt ausgeben.

-----

Ist nicht einfach zu erklären. Kannst Du mir ev. Lösungen zeigen? Besonders bezüglich des Loops und der Syntax.

ps. Die "Sichtbare syntax" brauche ich um das template in Editoren zu ändern... Dort muss ich dann sehen, wo welche Variable steht. oder bei Formularfeldern als "Value" ohne das das HTML-Konzept durcheinander gerät. Es muss alles interpretierbar sein.
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Antworten mit Zitat

View full thread Lösch Button