public function breadcrumbs()
{
return _class('html')->breadcrumbs([
[
'link' => '#home',
'name' => 'Home',
],
[
'link' => '#library',
'name' => 'Library',
],
[
'name' => 'Data',
],
]);
}
public function breadcrumbs($data = [], $extra = [])
{
if ($this->_is_bs5) {
return $this->_bs5()->breadcrumbs($data, $extra);
}
$extra['id'] = ($extra['id'] ?? null) ?: __FUNCTION__ . '_' . ($this->_ids[__FUNCTION__] = ($this->_ids[__FUNCTION__] ?? 0) + 1);
$items = [];
$divider = ($extra['divider'] ?? null) ?: ''; // '/'
$show_divider = ! $this->_is_bs3 && strlen($divider);
$len = count((array) $data);
$data = _prepare_html($data);
$i = 0;
foreach ((array) $data as $k => $v) {
$is_last = (++$i == $len);
$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="' . ($is_last ? ' active' : '') . ($class_item ? ' ' . $class_item : '') . '">
' . (
($is_last || ! ($v['link'] ?? null)) ? ($v['name'] ?? null)
: '<a href="' . ($v['link'] ?? null) . '" title="' . ($v['name'] ?? null) . '">' . ($v['name'] ?? null) . $badge . '</a>' . ($show_divider ? ' <span class="divider">' . $divider . '</span>' : '')
) . '
</li>';
}
$tag = $this->_is_bs3 ? 'ol' : 'ul';
return '<' . $tag . ' class="breadcrumb' . (($extra['class'] ?? null) ? ' ' . ($extra['class'] ?? null) : '') . '" id="' . ($extra['id'] ?? null) . '">' . implode(PHP_EOL, (array) $items) . '</' . $tag . '>';
}