Hejsa.
Sidder og arbejder lidt med min menu i min applikation.
Jeg vil gerne gøre det brugervenligt så når en bruger har klikket på et menupunkt så skal den gerne vise at brugeren er der.
Det er også lykkedes det meste af vejen.
Problemet kommer i at nogle menu punkt skal have en class med exp hvis der er underpunkter, men der findes også nogle der ikke skal. Dem der ikke skal, skal kun hvis de er aktive have tilføjet en class med active.
Altså:
- <ul class="nav" id="menu">
- <li class="dash"><a href="" <!-- Hvis aktiv class="active" -->><span>Skrivebord</span></a></li>
- <li class="forms"><a href="" <!-- Hvis aktiv class="active" --> class="exp"<!-- Skal altid være der når der er under menu --> <!-- Hvis aktiv id="current" --><span>Indstillinger</span></a>
- <ul class=""sub>
- <li class="<!-- Hvis aktiv this -->"><a href="">Link 1</a></li>
- <li class="last <!-- Hvis aktiv this -->" ><a href="">Link 2</a></li>
- </ul>
- </li>
- </ul>
Det kan jeg ikke rigtig få den til.
Jeg har lavet en helper til min menu i CI.
- <?php if(! defined('BASEPATH')) exit('No direct access allowed');
-
- if(! function_exists('sub_link')){
-
- /*
- * Tjekker hvilken method fra classen vi bruger og sætter den til this hvis method passer med var.
- */
- function sub_link($method){
- $CI =& get_instance();
-
- $class = $CI->router->fetch_method();
-
- return($class == $method) ? 'this' : '';
-
- }
- }
-
- if(! function_exists('top_link')){
-
-
- /*
- * Tjekker hvilken class vi er i og sætter toplink til respektivt
- */
- function top_link($controller){
- $CI =& get_instance();
-
- $class = $CI->router->fetch_class();
-
- return($class == $controller) ? 'class="active exp" id="current"' : 'class="exp"';
-
- }
- }
Min menu
- <ul class="nav" id="menu">
- <li class="dash"><a href="" <?php echo top_link('dashboard')><span>Skrivebord</span></a></li> <!-- Den skal ikke have exp -->
- <li class="forms"><a href="#" title="" <?php echo top_link('settings'); ?> class="exp"><span>Indstillinger</span></a>
- <ul class="sub">
- <li class="<?php echo sub_link('users'); ?>"><?php echo anchor('settings/users', 'Brugere'); ?></li>
- <li class="last <?php echo sub_link('user_groups'); ?>"><?php echo anchor('settings/user_groups', 'Brugergrupper'); ?></li>
- </ul>
- </li>
- </ul>
Problemet ligger altså i mine top links.
Nogen der har nogle super smarte løsninger?