Schrift
[thread]2878[/thread]

Problem mit MicroMason



<< |< 1 2 >| >> 19 Einträge, 2 Seiten
kabel
 2003-09-14 21:14
#28046 #28046
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
schuss ins blaue: arrayreferenz? ist es zufällig immer das erste element? ;)
-- stefan
kabel
 2003-09-14 23:15
#28047 #28047
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
1a problemlösungsmethode :p
nach der doku müsste es so funktionieren:
Code: (dl )
...$name, "members" => \@array);

im template dann:
Quote
Members: <% join "", @{ $ARGS{members} }; %>


HTH und das es funktioniert 8)
-- stefan
Strat
 2003-09-15 00:32
#28048 #28048
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei CPAN:HTML::Mason koenntest du das mit den Arrays folgendermassen machen:
[html]
<TMPL_LOOP NAME=SCHLEIFE>
 Instanz <TMPL_VAR NAME=COUNT><br>
</TMPL_LOOP>
[/html]
ergibt eine Liste mit Hashreferenzen als Werten, von denen einer COUNT heissen muss. Du fuellst das Template dann z.B. folgendermassen:
Code: (dl )
1
2
3
my @liste = ('A'..'Z'); # liste
@schleife = map { {COUNT => $_ } } @liste; # liste von hashrefs
$template->param(SCHLEIFE => \@schleife); # uebergeben
\n\n

<!--EDIT|Strat|1063571634-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
BrownWolf
 2003-09-15 01:09
#28049 #28049
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Ach ja ich brauch noch mal Hilfe ;)
Wenn ich jetzt zb. prüfen möchte ob @array leer ist was muss ich dann in den Templates schreiben ?

Komme da überhaupt nicht mit zurecht.
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
BrownWolf
 2003-09-15 02:44
#28050 #28050
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Ich bins nochmal.
Was ich nicht verstehe ist warum HTML::Template keine Unterstützung hat, um zu prüfen ob eine Variable bzw übergebener Wert einen bestimmten Wert hat.

Also zb:

$template->param("name" => $name);

Und dann im Template:

Code: (dl )
1
2
3
4
5
<TMPL_IF name="name" eq "BrownWolf">
Gib irgendwas aus ....
<TMPL_ELSE>
Gib was andres aus
</TMPL_IF>


Und nun ? -.-
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
BrownWolf
 2003-09-15 03:07
#28051 #28051
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Und wenn man mehrere Abfragen haben möchte ?

Code (perl): (dl )
1
2
3
4
5
6
7
if(&#36name eq "BrownWolf") {
mache dies
} elsif (&#36name eq "test") {
Mache das
} else {
Mache jenes
}


Geht das auch mit den Templates ? :)
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
Strat
 2003-09-15 03:36
#28052 #28052
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auf HTML::Template habe ich gerade einen Teil der Doku zu HTML::Template auf Deutsch zu uebersetzen. Ich mache nach meinem Urlaub weiter, weil ich das fuer ein recht wichtiges Modul halte... oder hilft mir jemand?
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
eisbeer
 2003-09-15 09:22
#28053 #28053
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ja kann ich machen, so als englisch aufpolierung :) Reden wir nochmal...
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Crian
 2003-09-15 15:04
#28054 #28054
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ins Forum mit sonstigen Fragen zur Webprogrammierung mit Perl verschoben, da mir das am passendsten erscheint.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
BrownWolf
 2003-09-14 20:31
#28055 #28055
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Hallo ich habe ein Problem mit Text::MicroMason.
Ich möchte ein Array übergeben aber er gibt immer nur ein Element aus.

Beispiel:

script.pl:

Code (perl): (dl )
1
2
3
my &#36name = "BrownWolf";
my @array = ("BrownWolf","pq","Ishka");
print execute_file("./templates/template.htm", "name" => &#36name, "members" => @array);


Dann in der template.htm:

Code: (dl )
1
2
3
4
5
6
7
<html>
<head></head>
<body>
Name: <% $ARGS{name} %><br>
Members: <% $ARGS{members} %>
</body>
</html>


Jetzt erscheint aber nur ein Element ...
Wenn ich $ARGS{members} zu @ARGS{members} mache (Wa s auch logisch wäre) , dann geht es auch nicht.

Jemand ne Idee ?
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2003-09-14 21:14.