The {for}{forelse} tag is used to create simple loops. The following different formarts are supported:
{for $var=$start to $end} simple loop with step size of 1.
{for $var=$start to $end step $step} loop with individual step size.
{forelse} is executed when the loop is not iterated.
Attributes:
| Attribute Name | Shorthand | Type | Required | Default | Description |
|---|---|---|---|---|---|
| max | n/a | integer | No | n/a | Limit the number of iterations |
Option Flags:
| Name | Description |
|---|---|
| nocache | Disables caching of the {for} loop |
Example 7.27. A simple {for} loop
<ul>
{for $foo=1 to 3}
<li>{$foo}</li>
{/for}
</ul>
The above example will output:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
Example 7.28. Using the max attribute
$smarty->assign('to',10);
<ul>
{for $foo=3 to $to max=3}
<li>{$foo}</li>
{/for}
</ul>
The above example will output:
<ul>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
Example 7.29. Excution of {forelse}
$smarty->assign('start',10);
$smarty->assign('to',5);
<ul>
{for $foo=$start to $to}
<li>{$foo}</li>
{forelse}
no iteration
{/for}
</ul>
The above example will output:
no iteration