public function navlist()
{
return _class('html')->navlist([
'brand' => [
'link' => url('/'),
'name' => 'Title',
],
[
'link' => '#home',
'name' => 'Home',
],
[
'link' => '#link1',
'name' => 'Link1',
],
[
'link' => '#link2',
'name' => 'Link2',
],
]);
}
public function navlist($data = [], $extra = [])
{
if ($this->_is_bs5) {
return $this->_bs5()->navlist($data, $extra);
}
$extra['id'] = ($extra['id'] ?? null) ?: __FUNCTION__ . '_' . ($this->_ids[__FUNCTION__] = ($this->_ids[__FUNCTION__] ?? 0) + 1);
$items = [];
foreach ((array) $data as $k => $v) {
if ( ! is_array($v)) {
$name = $v;
$link = $k;
$v = [];
} else {
$name = ($v['name'] ?? null);
$link = ($v['link'] ?? null);
}
$class_item = ($v['class_item'] ?? null) ?: ($extra['class_item'] ?? null);
$badge = ($v['badge'] ?? null) ? ' <sup class="badge badge-' . (($v['class_badge'] ?? null) ?: 'info') . '">' . ($v['badge'] ?? null) . '</sup>' : '';
$items[] = '<li class="' . ($class_item ? ' ' . $class_item : '') . '"><a href="' . $link . '"><i class="icon-chevron-right fa fa-chevron-right"></i> ' . t($name) . $badge . '</a></li>';
}
return '<div class="bs-docs-sidebar"><ul class="nav nav-list bs-docs-sidenav' . (($extra['class'] ?? null) ? ' ' . ($extra['class'] ?? null) : '') . '" id="' . ($extra['id'] ?? null) . '">' . implode(PHP_EOL, (array) $items) . '</ul></div>';
}
Navlist plugin is custom markup for menu-like lists