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