ProcessWire - One Level Navigation: Unterschied zwischen den Versionen
Aus Wikizone
Steff (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „topnav.inc <syntaxhighlight lang="php"> <?php namespace ProcessWire; $pa = $homepage->and($homepage->children("menus.id=1"));//only if main menu is checked ech…“) |
Steff (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
| − | topnav.inc | + | Hinweis: Wir verwenden ein Optionsfeld im Backend 'menus' um dort Seiten auswählen zu können, die ins Menü sollen. |
| + | |||
| + | '''topnav.inc''' | ||
| + | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
| + | |||
<?php namespace ProcessWire; | <?php namespace ProcessWire; | ||
| + | |||
$pa = $homepage->and($homepage->children("menus.id=1"));//only if main menu is checked | $pa = $homepage->and($homepage->children("menus.id=1"));//only if main menu is checked | ||
| + | |||
echo " | echo " | ||
<nav class='navbar'> | <nav class='navbar'> | ||
| − | ". | + | ".renderOneLevelNav($pa)." |
</nav>"; | </nav>"; | ||
| + | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Zeile 18: | Zeile 25: | ||
* | * | ||
*/ | */ | ||
| − | function | + | function renderOneLevelNav($pa){ |
if($pa instanceof Page) $pa = array($pa); | if($pa instanceof Page) $pa = array($pa); | ||
$out = "<ul class='nav navbar-nav'>"; | $out = "<ul class='nav navbar-nav'>"; | ||
Aktuelle Version vom 30. Oktober 2017, 11:00 Uhr
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;
}