Created
December 20, 2012 20:59
-
-
Save maba/4348501 to your computer and use it in GitHub Desktop.
Try to create a non standard menu with ProcessWire
( http://processwire.com/talk/topic/2409-code-optimization-for-complex-menu/ )
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<span class="menu-slider hidden-phone"></span> <!-- Menu Slider --> | |
<ul id="header-menu" class="menu"><?php | |
//$homepage = $pages->get("/"); | |
//$children = $homepage->children; | |
//$class = $homepage === $page ? " class='active current-menu-item'" : ''; | |
//echo "<li$class><a href='{$homepage->url}'>$homepage->title</a></li>"; | |
$companyPage = $pages->get("/azienda/"); | |
$children = $companyPage->children; | |
$class = $companyPage === $page ? " class='active current-menu-item'" : ''; | |
echo "<li$class><a href='{$companyPage->url}'>$companyPage->title</a>"; | |
echo "<ul class='sub-menu'>"; | |
foreach ($children as $c) { | |
echo "<li><a href='$c->url'>$c->title</a>"; | |
} | |
echo "</ul>"; | |
$productsPage = $pages->get("/prodotti/"); | |
$class = $productsPage === $page ? " class='active current-menu-item'" : ''; | |
echo "<li$class><a href='{$productsPage->url}'>$productsPage->title</a>"; | |
echo "<ul class='sub-menu'>"; | |
$products = $pages->find("template=product, sort=title"); | |
$sectors = $pages->get("/settori/")->children; | |
$applications = $pages->get("/applicazioni/")->children; | |
foreach($sectors as $s) { | |
echo "<li><a href='$s->url'>$s->title</a><ul class='sub-menu'>"; | |
foreach($applications as $a) { | |
echo "<li><a href='$a->url'>$a->title</a><ul class='sub-menu'>"; | |
foreach($products as $p) { | |
if(!$p->applications->has($a)) continue; | |
if(!$p->sectors->has($s)) continue; | |
$span = $p->new == 1 ? " <span class='orange sub-menu-title'>" . $this->_('novita') . "</span>" : ""; | |
echo "<li><a href='$p->url'>$p->title$span</a></li>"; | |
} | |
echo "</ul></li>"; | |
echo "</ul></li>"; | |
} | |
echo "</ul>"; | |
$contactsPage = $pages->get("/contatti/"); | |
$class = $contactsPage === $page ? " class='active current-menu-item'" : ''; | |
echo "<li$class><a href='{$contactsPage->url}'>$contactsPage->title</a>"; | |
?> | |
<li> | |
<a href="pages/news.html">Galleries</a> | |
<div class="submenu-big news-menu"> | |
<div class="row-fluid"> | |
<div class="widget-box widget-blogposts span4"> | |
<h4 class="widget-title">Latest</h4> | |
<ul> | |
<li class="clearfix"> | |
<div class="widget-blogpost-avatar"> | |
<a href="#"> | |
<img src="img/placeholder/blogpost-placeholder-70x70.png" alt="Blogpost-1"> | |
<span class="widget-blogpost-overlay"></span> | |
</a> | |
</div> | |
<div class="widget-blogpost-content"> | |
<div class="widget-blogpost-title "> | |
<h5>We got a new company name!</h5> | |
</div> | |
<div class="widget-blogpost-date"> | |
<p><a href="#">October 6, 2012</a></p> | |
</div> | |
</div> | |
</li> | |
<li class="clearfix"> | |
<div class="widget-blogpost-avatar"> | |
<a href="#"> | |
<img src="img/placeholder/blogpost-placeholder-70x70.png" alt="Blogpost-1"> | |
<span class="widget-blogpost-overlay"></span> | |
</a> | |
</div> | |
<div class="widget-blogpost-content"> | |
<div class="widget-blogpost-title "> | |
<h5>Launching a new product today.</h5> | |
</div> | |
<div class="widget-blogpost-date"> | |
<p><a href="#">October 6, 2012</a></p> | |
</div> | |
</div> | |
</li> | |
<li class="clearfix"> | |
<div class="widget-blogpost-avatar"> | |
<a href="#"> | |
<img src="img/placeholder/blogpost-placeholder-70x70.png" alt="Blogpost-1"> | |
<span class="widget-blogpost-overlay"></span> | |
</a> | |
</div> | |
<div class="widget-blogpost-content"> | |
<div class="widget-blogpost-title "> | |
<h5>New CEO, John Doe starts today</h5> | |
</div> | |
<div class="widget-blogpost-date"> | |
<p><a href="#">October 6, 2012</a></p> | |
</div> | |
</div> | |
</li> | |
</ul> | |
</div> | |
<div class="widget-box widget-category span4"> | |
<h4 class="widget-title">Installations</h4> | |
<ul> | |
<li><a href="#">New CEO</a></li> | |
<li><a href="#">New Template Verendus</a></li> | |
<li><a href="#">Includes UI design</a></li> | |
<li><a href="#">10+ Widgets</a></li> | |
<li><a href="#">10+ Special pages</a></li> | |
<li><a href="#">SEO optimized</a></li> | |
<li><a href="#">Auto Responsive Menu</a></li> | |
</ul> | |
</div> | |
<div class="widget-box widget-category span4"> | |
<h4 class="widget-title">Company</h4> | |
<ul> | |
<li><a href="#">2 Premium sliders</a></li> | |
<li><a href="#">Bootstrap 2.2.1</a></li> | |
<li><a href="#">20+ Photoshop files</a></li> | |
<li><a href="#">Unlimited colors</a></li> | |
<li><a href="#">Responsive</a></li> | |
<li><a href="#">100% Business Ready</a></li> | |
<li><a href="#">Retina Ready</a></li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
</li> | |
<?php | |
//$blogPage = $pages->get("/blog/"); | |
//$class = $blogPage === $page ? " class='active current-menu-item'" : ''; | |
//echo "<li$class><a href='{$blogPage->url}'>$blogPage->title</a>"; | |
?> | |
</ul> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment