Rob Nagler wrote:
> Perrin Harkins writes:
> 
>>You can actually do that pretty comfortably with Template Toolkit.  You
>>could use a filter for example, which might look like this:
>>
>>[% FILTER font('my_first_name_font') %]
>>... some text, possibly with other template directives in it...
>>[% END %]
> 
> 
> One of the reasons Perl is popular is its idioms.  Having to say
> something in three lines is not as idiomatic as one line.  It takes a
> lot of discipline to use it everywhere.  In other words, I don't think
> the above is more comfortable than:
> 
>     String(['User.first_name'], 'my_first_name_font');

The advantage is that my example can contain other templating code:

[% FILTER font('basic_info_font') %]
   Hello [% User.first_name %]!<BR>
   [% IF User.accounts %]
      You have these accounts:<BR>
      [% FOREACH User.accounts %]
        [% name %]: [% balance %]<BR>
      [% END %]
   [% END %]
[% END %]

Unless I'm missing something about your example, the FILTER concept 
seems more powerful.  It is perfectly possible to simply add a plugin to 
TT to make it look like yor example though:

[% String(User.first_name, 'my_first_name_font') %]

> Note also the accessor for User.first_name in Template Toolkit is
> probably nontrivial.

Assuming it's just $User->first_name() and you passed in $User as part 
of your data to the view, there's no additional work.

- Perrin

Reply via email to