Skip to content

Instantly share code, notes, and snippets.

@jimmykane
Forked from kkamkou/horizontal.phtml
Created April 28, 2014 15:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jimmykane/11375418 to your computer and use it in GitHub Desktop.
Save jimmykane/11375418 to your computer and use it in GitHub Desktop.
<?php
/**
* @author Kanstantsin A Kamkou (2ka.by)
* History:
* - 21.08.2012 Bootstrap 2.1.0 corrections
* - 31.03.2013 Acl check added
*/
$html = array('<ul class="nav">');
foreach ($this->container as $page) {
// visibility of the page
if (!$page->isVisible() || !$this->navigation()->accept($page)) {
continue;
}
// dropdown
$dropdown = !empty($page->pages);
// header
$html[] = '<li' . ($dropdown ? ' class="dropdown"' : '') . '>';
if (!$dropdown) {
$html[] = '<a href="' . $page->getHref() . '">';
} else {
$html[] = '<a href="#" class="dropdown-toggle" data-toggle="dropdown">';
}
$html[] = $page->getLabel();
if ($dropdown) {
$html[] = '<b class="caret"></b>';
}
$html[] = '</a>';
if (!$dropdown) {
$html[] = '</li>';
continue;
}
$html[] = '<ul class="dropdown-menu">';
foreach ($page->pages as $subPage) {
// visibility of the sub-page
if (!$subPage->isVisible() || !$this->navigation()->accept($subPage, false)) {
continue;
}
$html[] = '<li' . ($subPage->isActive() ? ' class="active"' : '') . '>';
$html[] = '<a href="' . $subPage->getHref() . '">';
if ($subPage->get('icon')) {
$html[] = '<i class="icon-' . $subPage->get('icon') . '"></i>';
}
$html[] = $subPage->getLabel();
$html[] = "</a>";
$html[] = "</li>";
}
$html[] = "</ul>";
$html[] = "</li>";
}
$html[] = '</ul>';
echo join(PHP_EOL, $html);
<?php
/**
* @author Kanstantsin A Kamkou (2ka.by)
*/
$html = array('<ul class="nav nav-list">');
foreach ($this->container as $page) {
// show only the current branch and the visible item
if (!$page->isVisible()
|| !$this->navigation()->accept($page)
|| ($this->menu()->getOnlyActiveBranch() && !$page->isActive(true))) {
continue;
}
// header
$html[] = '<li class="nav-header">';
$html[] = $page->getLabel();
$html[] = "</li>";
foreach ($page->pages as $subPage) {
// visibility of the sub-page
if (!$subPage->isVisible() || !$this->navigation()->accept($subPage, false)) {
continue;
}
$html[] = '<li' . ($subPage->isActive() ? ' class="active"' : '') . '>';
$html[] = '<a href="' . $subPage->getHref() . '">';
if ($subPage->get('icon')) {
$html[] = '<i class="icon-' . $subPage->get('icon') . '"></i>';
}
$html[] = $subPage->getLabel();
$html[] = "</a>";
$html[] = "</li>";
}
}
$html[] = '</ul>';
echo join(PHP_EOL, $html);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment