Thread Wunsch: HTML-Template-Compiled und Helferlein oder Makros
(10 answers)
Opened by GwenDragon at 2013-09-06 17:28 2013-09-07T15:11:44 GwenDragon es wäre theoretisch denkbar, dass man ein * angeben kann, der sagt, alle attribute sind möglich. dafür müsste ich den parser etwas aufbohren. Quote wie meinst du das? Quote es gibt die möglichkeit der nutzung von H::T::C::Compiler::parse_var. Das benutze ich z.b. beim Translate-Plugin hier im Forum. Wenn du also weisst, das Attribut TOKEN enthält den namen des parameters im stash, kannst du sowas machen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 my $token = $attr->{TOKEN}; # z.b. "csrftoken" oder ".config.token" my $token_expr = $htc->get_compiler->parse_var($htc, var => $token, # die 3 zeilen sind leider noch notwendig, evtl. kann # ich die mal woanders hin schieben method_call => $htc->method_call, deref => $htc->deref, formatter_path => $htc->formatter_path, ); Heraus kommt dann der entsprechende Perl-Code, der ins kompilierte Template eingesetzt wird. Das berücksichtigt dann auch, ob global_vars benutzt wird, case_sensitive usw. get_var direkt zu benutzen ist nicht empfehlenswert. (edit: bzw. get_var wird sowieso nur noch bei H::T::C::Classic benutzt). und dann: Code (perl): (dl
)
1 2 3 4 $expression .= <<"EOM"; $OUT '<input type="hidden" name="TOKEN" value="' . $token_expr . '"> '; EOM Last edited: 2013-09-07 18:19:18 +0200 (CEST) Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |