View Helper - HtmlList¶
Introduction¶
htmlList($items, $ordered, $attribs, $escape)
: generates unordered and ordered lists based on the $items
passed to it. If $items
is a multidimensional array, a nested list will be built. If the $escape
flag is
TRUE
(default), individual items will be escaped using the view objects registered escaping mechanisms; pass
a FALSE
value if you want to allow markup in your lists.
Basic Usage¶
Unordered list¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $items = array(
'Level one, number one',
array(
'Level two, number one',
'Level two, number two',
array(
'Level three, number one'
),
'Level two, number three',
),
'Level one, number two',
);
echo $this->htmlList($items);
|
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <ul>
<li>Level one, number one
<ul>
<li>Level two, number one</li>
<li>Level two, number two
<ul>
<li>Level three, number one</li>
</ul>
</li>
<li>Level two, number three</li>
</ul>
</li>
<li>Level one, number two</li>
</ul>
|
Ordered list¶
1 | echo $this->htmlList($items, true);
|
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <ol>
<li>Level one, number one
<ol>
<li>Level two, number one</li>
<li>Level two, number two
<ol>
<li>Level three, number one</li>
</ol>
</li>
<li>Level two, number three</li>
</ol>
</li>
<li>Level one, number two</li>
</ol>
|
HTML attributes¶
1 2 3 4 5 | $attribs = array(
'class' => 'foo',
);
echo $this->htmlList($items, false, $attribs);
|
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <ul class="foo">
<li>Level one, number one
<ul class="foo">
<li>Level two, number one</li>
<li>Level two, number two
<ul class="foo">
<li>Level three, number one</li>
</ul>
</li>
<li>Level two, number three</li>
</ul>
</li>
<li>Level one, number two</li>
</ul>
|
Escape Output¶
1 2 3 4 5 6 7 8 9 10 | $items = array(
'Level one, number <strong>one</strong>',
'Level one, number <em>two</em>',
);
// Escape output (default)
echo $this->htmlList($items);
// Don't escape output
echo $this->htmlList($items, false, false, false);
|
Output:
1 2 3 4 5 6 7 8 9 10 11 | <!-- Escape output (default) -->
<ul class="foo">
<li>Level one, number <strong>one</strong></li>
<li>Level one, number <em>two</em></li>
</ul>
<!-- Don't escape output -->
<ul class="foo">
<li>Level one, number <strong>one</strong></li>
<li>Level one, number <em>two</em></li>
</ul>
|