Thread HTML::Template - associate => [$objekt]: Assoziieren geht nicht (2 answers)
Opened by pktm at 2004-04-10 06:45

pktm
 2004-04-10 06:45
#2043 #2043
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!
Ich habe ein Problem mit den Assoziationen bei HTML::Template.
Ich erzeuge ein Objekt, welches mit meinem CGI-Objekt assoziiert wird.
Dann ereuge ich ein weiteres HTML::Template-Objekt welches mit vorherigem assoziiert wird.
Da müsste dann doch eigentlich das CGI-Objekt schon mit drin sein, oder?
Bei mir klappt das irgendwie gerade nicht so ganz...
Wenn ich den Parameter aber manuell im zwieten Template-Objekt setze geht es!?
Codebeispiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
my $template = HTML::Template->new(
   filename => $file,
   die_on_bad_params => 1,
   vanguard_compatibility_mode => 0,
   strict => 1,
   associate => [$cgi, $session,],
   case_sensitive => 1,
); #
# nächstes Objekt per sub:
main::getTemplate('s_login', $ldata, [$template,]);
sub getTemplate {
   my $templateName = shift || 'nicht definiert';
   my $ldata = shift or die 'Kein $ldata-Objekt übergeben!';
   my $associate = shift || [];
   $templateName .= $ldata->{'data'}->{'templateSuffix'};
   my $filename = undef;
# ... Fehlerbehandlung
   my $zw_t = HTML::Template->new(
       filename => $filename,
       die_on_bad_params => 1,
       vanguard_compatibility_mode => 0,
       strict => 1,
       associate => $associate,
       case_sensitive => 1,
   );
# wenn ich jetzt hier $zw_t->param( 'foo' => 'bar' ); eingebe funktioniert es,
# wird 'foo' aber in $template definiert $template->param( 'foo' => 'bar' ); geht es nicht mehr!!
   return $zw_t->output();
}


Ich raffe echt nicht, woran das liegen soll....
$associate ist übrigens mit $cgi und Allem anderen gefüllt was sonst noch übergeben wird, das habe ich gepüft.
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread HTML::Template - associate => [$objekt]: Assoziieren geht nicht