User since
2003-08-14
962
Artikel
BenutzerIn
Hallo, ich will mir mein eigenes CMS bauen und dazu HTML::Template einsetzen. Leider werde ich aus der Doku nicht so recht schlau, deswegen hier die Frage. Ist es möglich sämtliche Variablen als Hash Array zu übergeben? Da erst zur Laufzeit des Scriptes bekannt wird welche und wieviele Variablen (normale, if's und loop's) verwendet werden, möchte ich den Variablen Namen und Inhalt als Hash anlegen, dann sämtliche Hash's in ein Array packen und übergeben.
User since
2003-08-04
14371
Artikel
ModeratorIn
HTML::Template's param()-Methode erwartet eine Hashreferenz...
Du kannst alle Variablen, die Du belegen willst in ein Hash schreiben und diesen Hash als Referenz übergeben!
Beispiel:
my $template = HTML::Template->new(filename => $file);
# loop füllen
my $loop = [{name => 'herbert', nachname => 'müller'},{name => 'lisbeth', nachname => 'müller'}];
# 'normale' variablen
my $test = 'dies';
my $ist = 'ist';
# erstellen des Hashs
my %params_fuer_template = (MY_LOOP => $loop,
VAR_1 => $ist,
VAR_2 => $test);
$template->param(\%params_fuer_template);
Du kannst also Deinen Hash aufbauen wie Du willst, bevor Du param() aufrufst...
User since
2003-08-04
14371
Artikel
ModeratorIn
Das Skript zu meinem Vortrag in München über HTML::Template :
http://perl.renee-baecker.de/HTML_Template.pdf
User since
2003-08-14
962
Artikel
BenutzerIn
@renee
Danke, da kann ich ja jetzt beruhigt los legen. :)