Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10723[/thread]

verschachtelte Schleife mit HTML::Template



<< >> 5 Einträge, 1 Seite
Superfrank
 2007-11-05 22:39
#101896 #101896
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich kriege einfach keine verschachtelte Schleife mit CPAN:HTML::Template hin.

Im html steht es so drin:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<TMPL_LOOP NAME=ober_liste>
<input <TMPL_VAR NAME=checked> type="radio" name="licenses" value="<TMPL_VAR NAME=typ>">
<TMPL_VAR NAME=article_descr>
<TMPL_VAR NAME=typ>
<TMPL_VAR NAME=price>

Untergruppe von typ
<TMPL_LOOP NAME=unter_liste>
<TMPL_VAR NAME=typ_s>
<TMPL_VAR NAME=price_s>
</TMPL_LOOP>

<BR>
</TMPL_LOOP>



Beim Ausführen gibt es die Fehlermeldung

Code: (dl )
Attempt to set nonexistent parameter 'unter_liste' - this parameter name doesn't match any declarations in the template file



ich habe aber doppelt und dreifach kontrolliert ob ich mich auch ja nicht verschrieben habe und im Script steht eindeutig:

Code: (dl )
$template->param(unter_liste=> \@loop_data_unterliste); 



Grüsse

Frank
pktm
 2007-11-05 22:46
#101897 #101897
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Das unter_liste muss bestandteil der Datenstruktur der ersten Schleife (ober_liste) sein (ungetestet):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
my @data = (
{
typ => 'typ',
article_descr => 'beschr',
# ...
unter_liste => [
{
typ_s => 'foo',
price_s => 12,
},
],
},
);


$template->param("ober_liste"=> \@data);
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2007-11-05 22:47
#101898 #101898
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Und, benutze bitte strict und warnings :)
http://www.intergastro-service.de (mein erstes CMS :) )
Superfrank
 2007-11-05 23:06
#101900 #101900
User since
2006-09-05
164 Artikel
BenutzerIn
[default_avatar]
Hallo,
vielen Dank für Deine Hilfe!
Ich habe

Code (perl): (dl )
$template->param(unter_liste=> \@loop_data_unterliste);


als Variable in die Hauptschleife eingefügt und aus der Unterschleife entfernt und damit funktioniert es.

PS: -w und strict hab ich immer an.

Grüsse

Frank
pktm
 2007-11-05 23:55
#101901 #101901
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Superfrank+2007-11-05 22:06:53--

PS: -w und strict hab ich immer an.


Ah, ich dachte dass es bei $template->param(unter_liste=> \@loop_data_unterliste); einen Fehler geben müsste, da unter_liste nicht als String maskiert ist, aber der =>-Operator macht das ja implizit...
http://www.intergastro-service.de (mein erstes CMS :) )
<< >> 5 Einträge, 1 Seite



View all threads created 2007-11-05 22:39.