手风琴风格的菜单取决于网段

问题描述:

我一直在困惑这一天的日子。这个想法是复制Outlook 2010风格的侧边栏导航,并创建一个用户熟悉的用户体验。我目前使用这个基本的导航和URL的活动状态。手风琴风格的菜单取决于网段

<ul class="fltrt" style="padding-right:5px;"> 
<?php foreach($NavigationArray as $i =>  $nav_item): ?> 
<li <?php if ($this->uri->uri_string() == $i): ?> class="active"<?php endif; ?>> 
<?= anchor($i, $nav_item) ?> </li> <?php endforeach ?> </ul> 

我只希望实现使用http://jqueryui.com/accordion/作为一个例子的简单的折叠式菜单,该部分的标题是瓷砖和菜单循环下像上面,但是,如果URL的第一段=标题是活性,如果手风琴菜单中的链接与网址的第二部分相匹配,它也处于活动状态。

想法将不胜感激。

这条线:

<li <?php if ($this->uri->uri_string() == $i): ?> class="active"<?php endif; ?>> 

将无法​​正常工作。

$this->uri->uri_string()将类似于/index.php/mycontroller/myfunction$i可能是一个int(0,1,2,3),因此它们将永远不会相等。

您想匹配$this->uri->segment(n);,其中n是您想要匹配的网址的片段。例如如果网址是/index.php/home/overview并且您想要匹配的菜单项是'home',那么您应该做

<li <?php if ($this->uri->segment(1) == $nav_item): ?> class="active"<?php endif; ?>>