手风琴样式的菜单活动取决于url段



我为这个问题困惑了好几天。我们的想法是复制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 =标题的第一段是活跃的,如果手风琴菜单中的链接匹配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是要匹配的url段。例如,如果url是/index.php/home/overview,而你想要匹配的菜单项是'home ',你会做

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

最新更新