Fraenkiman e544ed6d9a Smatry Release 4.4.1 on Feb-2024
Comparing changes: https://github.com/smarty-php/smarty/compare/v4.3.1...v4.4.1

It is noticeable that Smarty 4.3.1 does not officially support PHP 8.3. Is only supported with 4.4.0.

Remark:

During tests with Smarty 4.5.1, it was noticed that the following warning occurs:
Deprecated: Using the unregistered function "function_exists" in a template is deprecated and will be removed in a future version. Use Smarty::registerPlugin to explicitly register a custom modifier.

As of Smarty 5.X.X, templates must be revised again.
The Smarty release 5.0.2 is already officially available. However, integration into FlatPress is not entirely trivial.
2024-04-14 18:37:39 +02:00

92 lines
1.5 KiB
Markdown

# {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
```smarty
<ul>
{for $foo=1 to 3}
<li>{$foo}</li>
{/for}
</ul>
```
The above example will output:
```html
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
```
```php
<?php
$smarty->assign('to',10);
```
```smarty
<ul>
{for $foo=3 to $to max=3}
<li>{$foo}</li>
{/for}
</ul>
```
The above example will output:
```html
<ul>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
```
```php
<?php
$smarty->assign('start',10);
$smarty->assign('to',5);
```
```smarty
<ul>
{for $foo=$start to $to}
<li>{$foo}</li>
{forelse}
no iteration
{/for}
</ul>
```
The above example will output:
```
no iteration
```
See also [`{foreach}`](./language-function-foreach.md),
[`{section}`](./language-function-section.md) and
[`{while}`](./language-function-while.md)