azett 52bf429a01 Replaced Smarty 2.6.31-dev with v 4.0.4, keeping the FP-specific Smarty plugins.
Updated calls to current Smarty API (register_function()/register_modifier()/register_block() -> registerPlugin(); assign_by_ref() -> assignByRef()).
Fixed file includes in templates with quotes.
Removed SmartyValidate.class.php includes.

Still work in progress as some errors still appear!
2022-01-23 15:02:33 +01:00

1.6 KiB

{for}

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

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

  


$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>

  


$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

See also {foreach}, {section} and {while}