
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.
2.4 KiB
2.4 KiB
{cycle}
{cycle}
is used to alternate a set of values. This makes it easy to
for example, alternate between two or more colors in a table, or cycle
through an array of values.
Attributes
Attribute Name | Required | Description |
---|---|---|
name | No | The name of the cycle |
values | Yes | The values to cycle through, either a comma delimited list (see delimiter attribute), or an array of values |
No | Whether to print the value or not (defaults to true) | |
advance | No | Whether or not to advance to the next value (defaults to true) |
delimiter | No | The delimiter to use in the values attribute (defaults to ',') |
assign | No | The template variable the output will be assigned to |
reset | No | The cycle will be set to the first value and not advanced (defaults to false) |
-
You can
{cycle}
through more than one set of values in a template by supplying aname
attribute. Give each{cycle}
a uniquename
. -
You can force the current value not to print with the
print
attribute set to FALSE. This would be useful for silently skipping a value. -
The
advance
attribute is used to repeat a value. When set to FALSE, the next call to{cycle}
will print the same value. -
If you supply the
assign
attribute, the output of the{cycle}
function will be assigned to a template variable instead of being output to the template.
Examples
{section name=rows loop=$data}
<tr class="{cycle values="odd,even"}">
<td>{$data[rows]}</td>
</tr>
{/section}
The above template would output:
<tr class="odd">
<td>1</td>
</tr>
<tr class="even">
<td>2</td>
</tr>
<tr class="odd">
<td>3</td>
</tr>