To assign a data collection to the Template, use the setData()
method and
pass either an array or a stdClass
object.
$tpl->setData([
'items' => [
[
'id' => '1',
'name' => 'Foo',
],
[
'id' => '2',
'name' => 'Bar',
],
[
'id' => '3',
'name' => 'Baz',
],
)
]);
The setData()
method will overwrite all existing data in the Template
object.
The addData()
method, on the other hand, will merge any iterable
with the
existing Template data.
$tpl->addData([
'title' => 'My Items',
]);
You can then use the data elements as if they are properties of $this
inside
the template:
<p>{{h $this->title}}</p>
<ul>
{{ foreach ($this->items as $id => $name): }}
<li id="{{a $id}}">{{h $name }}</li>
</ul>