4.5. attr_list

This tag is intended for use within embedded perl rather than as a standalone tag within a template (i.e., the [attr_list ...] syntax does not apply).

The $Tag->attr_list($template, $hashref) usage provides a shorthand for accessing values of a hash within embedded perl. It also allows you to control defaults or set up conditional values.

4.5.1. Summary

    [attr_list hash]
Parameters Description Default
hash   DEFAULT_VALUE
Attributes Default
interpolate No
reparse Yes
Other_Charactreristics  
Invalidates cache no
Container tag NA (Though the template is technically body text)
Has Subtags No
Nests No

Tag expansion example (ASP-like Perl call):

  [perl tables=products]
     my %opt = ( hashref => 1,
                 sql     => 'select * from  products', );

     my $ary_of_hash = $Db{products}->query(\%opt);

     my $template = <<EOF;
        {sku} - {description} - {price|Call for price}
        {image?}<IMG SRC="{image}">{/image?}
        {image:}No image available{/image:}
        <br>
        More body Text here
        <br>
EOF

     foreach my $ref (@$ary_of_hash) {
        $out .= $Tag->attr_list($template, $ref);
     }
     return $out;
  [/perl]
---
        os28113 - The Claw Hand Rake - Call for price
        <IMG SRC="/mycatalog/images/os28113.gif">

        <br>
        More body Text here
        <br>
        os28006 - Painters Brush Set - 29.99
        No image available

        <br>
        More body Text here
        <br>
        ...

4.5.2. Description

Tags an attribute list with values from a hash. Designed for use in embedded Perl.

Tags according to the following rules:

4.5.2.1. {key}

Inserts the value of the key for the reference. In a database query, this is the column name.

4.5.2.2. {key|fallback string}

Displays the value of {key} or if it is zero or blank, the fallback string (i.e., default).

4.5.2.3. {key true string}

Displays true string if the value of {key} is non-blank, non-zero, or displays nothing if the key is false.

4.5.2.4. {key?} true text {/key?}

Displays true text if the value of {key} is non-blank, non-zero, and nothing otherwise.

4.5.2.5. {key:} false text {/key:}

Displays false text if the value of {key} is blank or zero, and nothing otherwise.

4.5.2.6. hash

This is the hash reference whose keys will be expanded within the template (see above).