|
|
Choosing A Webhost: |
Re: enhancements to H::T: msg#00032lang.perl.modules.html-template
At 01:40 PM 12/9/03 -0500, Sam Tregar wrote: On Tue, 9 Dec 2003, Mathew Robertson wrote: Right now, people are attempting to code around the problem like this (somewhat contrived example): <TMPL_IF foo> <p>foo is true</p> <TMPL_ELSE> <TMPL_IF bar> <p>bar is true</p> <TMPL_ELSE> <TMPL_IF baz> <p>baz is true</p> </TMPL_IF> </TMPL_IF> </TMPL_IF> Whatever complexity might be added by TMPL_ELSIF, it must be better then this. > - support for custom tags, eg <TMPL_CATGETS ...> Filters strike me as being one of those things in Perl that look easy, but often end up having subtle edge cases that will someday cause your computer to create Global Thermonuclear War, or something. Having hooks in the parser (as stated in the v3 design) would be a very Good Thing, IMHO. > - TVPL_VAR support for HTML=TEXT which allows paragraphs of text to be formatted to respect newlines<snip> The thing is, 'user.name' isn't a variable name in the traditional way. Rather, it's saying 'I want the attribute "name" for the variable "user"', thus providing a more OO approach. I imagine that this would be implemented by passing an object that provides accessors for the fields that would show up in the template. For the example above: package My::UserVar; use base 'HTML::Template::Var'; # For example sub new { my $class = shift; my $in = shift || { }; return unless ref($in) eq 'HASH'; my $self = { map { $_ => $in->{$_} || '' } qw( name addr city state postal )}; bless $self, $class; } sub name { $_->{name} } sub addr { $_->{addr} } sub city { $_->{city} } sub state { $_->{state} } sub postal { $_->{postal} } package main; # $tmpl defined elsewhere, holding an HTML::Template object my $user = My::UserVar->new({ name => 'foo', addr => 'bar' }); $tmpl->param( user => $user ); ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Re: H::T future, Puneet Kishor |
|---|---|
| Next by Date: | Re: Re: H::T future, Roger Burton West |
| Previous by Thread: | Re: enhancements to H::T, Sam Tregar |
| Next by Thread: | Re: enhancements to H::T, Aaron J . Mackey |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |