Usage (
flexy:foreach="variable,key,value"
, flexy:foreach="variable,value"
)
creates a foreach loop, around the tag and close tag.
string variable -
relates to $object->variable
string key -
creates a variable 'key' in the current scope.
string value - optionally
creates a variable 'value' in the current scope. (as in $key=>$value)
Setting variables for foreach
$this->a = array(
"dog" => "cat",
"fire" => "water"
);
$this->b = array('a','b','c');
$template->outputObject($this);
Foreach in template
<table>
<tr flexy:foreach="a,k,v">
<td>k is {k}, and v is {v}</td>
</tr>
</table>
<table>
<tr flexy:foreach="b,v">
<td>v is {v}</td>
</tr>
</table>
Compiled template
<table>
<?php if (is_array($t->a)) foreach($t->a as $k => $v) { ?><tr>
<td>k is <?php echo htmlspecialchars($t->k); ?>, and v is <?php echo htmlspecialchars($t->v); ?></td>
</tr><?php } ?>
</table>
<table>
<?php if (is_array($t->b)) foreach($t->b as $v) { ?><tr>
<td>v is <?php echo htmlspecialchars($t->v); ?></td>
</tr><?php } ?>
</table>
Simple ouput example
k is dog, v is cat
k is fire, V is water
v is a
v is b
v is c