Hello, in function 'sub run_before_template_filters' will be beter put this code $tokens->{$k} = $d if (!exists($tokens->{$k})); To controling if from function before_template can't change something putted in $tokens in given function. My idea with before_template is this. I want put some standart definition like own function which wil be called from every template or given template enabled or disabled via options 'before_template' in template definition. Like this: use URI::Escape (); set before_template => '1'; before_template sub { return { urlencode => sub { return URI::Escape::uri_escape(@_); }, urldecode => sub { return URI::Escape::uri_unescape(@_); }, }; }; Now in every called template i can use function for decode|encode codepage string like this: [% urlencode(" hello " %]
------------ Původní zpráva ------------ Od: <igor.bujna@post.cz> Předmět: Re: [Dancer-users] Private template in Dancer Datum: 30.6.2010 07:50:40 ---------------------------------------- Hello, i make cleaner code for "private template". I use similar code as "before" filter. Better is when you looking my patch than I write how it works. Now its simply and cleaner :)
------------ Původní zpráva ------------ Od: David Precious <davidp@preshweb.co.uk> Předmět: Re: [Dancer-users] Private template in Dancer Datum: 15.6.2010 12:06:54 ---------------------------------------- On Tuesday 15 June 2010 09:18:11 Alexis Sukrieh wrote:
Le 15/06/2010 09:14, igor.bujna@post.cz a écrit :
Now in every template i can use this variables via 'private' call. It must be enabled for every template via set private_template => '1' Or can enabled or disabled separately in options 'private_template' in given using template.
It would be good to make something similar in this framework.
My first opinion is that using settings for private template variables is not a good idea. Setting should remain.... setting ;)
Agreed :)
We also had in mind to provide a new kind of hook, called "before_template" which could process variables before any template is called.
I would definitely agree, this is a good case where using a before_template hook would be nice, it could inject whatever params it wanted into the hashref
of params about to be passed off to the template.
FWIW, one way that may be suitable to handle this is to shove something in the
session, if you're using sessions, then the template can access that.
For instance,
session 'foo' => $foo;
Then, in the template,
[% session.foo %]
Once we have proper hook support, implementing it with a before_template hook
would probably be cleaner, though!
_______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users