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).