我为这个问题困惑了好几天。我们的想法是复制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; ?>>