Thilo,

I think this is a great idea. Would it work for something like this:

package Object;

sub new {
        my ($class, $id) = @_;
        my $self = {};
        bless $self, $class;
        $self->{name} = "name of object";
        $self->{id} = $id;
        return $self;
}

package main;

        my $obj = new Object(1);

        $tmpl->param(object => $obj);



On Wed, 2002-10-02 at 22:10, Thilo Planz wrote:
> Hi,
> 
> thanks for __counter__ and <tmpl_var default> in version 2.6.
> 
> I'd like to suggest another feature:
> setting hashrefs as template parameters with the effect that 
> HTML::Template retrieves all key/value-pairs from the hashref and sets 
> corresponding parameters.
> The parameters follow a hierarchical naming scheme, so that you do not 
> run into name-clashes and can easily keep track where the parameters are 
> coming from.
> 
> Use like this:
> 
> $html->param('test'=>
>               {
>               'a' =>
>                       {'a' => 1, 'b' => 2},
>               'b' =>
>                       {'c'=>3, 'd'=>4}
>               }
> );
> 
> to set
> 
> <tmpl_var name='test/a/a'>
> <tmpl_var name='test/a/b'>
> <tmpl_var name='test/b/c'>
> <tmpl_var name='test/b/d'>
> 
> Anyone else think this is useful?
> 
> 
> Cheers,
> 
> Thilo Planz
> 
> ===================
> 
> Here is the patch:
> 
>      # if the value is a hashref,
>      # construct parameters from its key/value-pairs
>      # and set them using recursion
>      if (ref $value and UNIVERSAL::isa($value, 'HASH')){
>       foreach (keys %$value){
>               $self->param(($param.'/'.$_)=>$value->{$_});
>       }
>       return;
>      }
> 
> these lines go into HTML::Template (method param), just before
> 
>   # check that this param exists in the template
>      $options->{die_on_bad_params} and !exists($param_map->{$param}) and
>        croak("HTML::Template : Attempt to set nonexistent parameter 
> '$param' - this parameter name doesn't match any declarations in the 
> template file : (die_on_bad_params => 1)");
> 
> ======================
> 
> PS:
> 
> I wouldn't try to stuff a hashref that contains recursive references 
> into the method.....
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Html-template-users mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/html-template-users
> 
-- 
Mark Mertel
[EMAIL PROTECTED]
Phone: (360) 344-3113    FAX: (360) 344-3553
Cell:  (206) 409-2018



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to