shop-old/libs/smarty/docs/designers/language-builtin-functions/language-function-for.md
Thomas Bartelt 0a669704ea Dev-Umgebung: Kompatibilität für PHP 8.3 + Smarty 4.5.6
- Smarty 4.1.1 → 4.5.6 (behebt dynamic property deprecations)
- Core-Klassen: #[\AllowDynamicProperties] für Admin_role, base, Config,
  Customer, Customer_group, CustomerGroups, Item, Structure, website
- website.class.php: counts[parent_id] initialisieren vor ++ (PHP 8.1)
- layout.class.php: HTTP_ACCEPT_LANGUAGE mit isset-Guard
- website_init.php: session_status()-Check vor session_start
- .htaccess: HTTPS-Redirect via X-Forwarded-Proto (statt SERVER_PORT)
- themes/easyshop_advanced/media/: Parent-Theme-Assets nachgezogen
- .gitignore: smarty.4.1.1.bak ausschließen
2026-04-20 01:19:01 +02:00

1.5 KiB

{for}

The {for}{forelse} tag is used to create simple loops. The following different formats 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 Required Description
max No Limit the number of iterations

Option Flags

Name Description
nocache Disables caching of the {for} loop

Examples

<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>
<?php
$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>
<?php
$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}