ProcessWire - One Level Navigation
Aus Wikizone
Hinweis: Wir verwenden ein Optionsfeld im Backend 'menus' um dort Seiten auswählen zu können, die ins Menü sollen.
topnav.inc
<?php namespace ProcessWire;
$pa = $homepage->and($homepage->children("menus.id=1"));//only if main menu is checked
echo "
<nav class='navbar'>
".renderOneLevelNav($pa)."
</nav>";
_func.php
/**
* Given a group of pages, render a one level navbar
*
* @param array|PageArray $items
* @return string
*
*/
function renderOneLevelNav($pa){
if($pa instanceof Page) $pa = array($pa);
$out = "<ul class='nav navbar-nav'>";
foreach($pa as $item) {
if($item->id == $page->rootParent->id) {
$out .= "<li class='current'>";
} else {
$out .= "<li>";
}
$out .= "<a href='$item->url'>$item->title</a></li>";
}
$out .= "</ul>";
return $out;
}