====== Gestion des menus ====== ===== Class Menu ===== Je me suis créé une petite class static afin de stocker le menu actif J'ai placé ce bout de code dans **app/start/global.php** mais c'est ptete pas le meilleur endroit. /** * Menu */ class Menu{ protected static $menu; protected static $sousmenu; public static function set($menu, $sousmenu=null){ self::$menu = $menu; self::$sousmenu = $sousmenu; } public static function active($menu,$sousmenu=null){ if(is_null($sousmenu)){ if($menu==self::$menu) return 'active'; }else{ if($menu==self::$menu and $sousmenu==self::$sousmenu) return 'active'; } } } ===== Controller ===== Maintenant dans votre controller, à chaque appel d'une page vous pouvez définir quel menu est actif. public function getIndex() { Menu::set('accueil'); return View::make('accueil'); } J'utilise un routage par controller, ma fonction getIndex correspond à un Route::get('/') Si votre controller concerne un seul menu vous pouvez globaliser le tout via le constructeur public function __construct(){ Menu::set('accueil'); } ===== View ===== Dans votre vue, il n'y a plus qu'à écrire ce bout de code pour définir une class **active** sur le menu actif. Dans l'exemple, le moteur de template **Blade** est utilisé, d'où la notation entre double-accolade On peut aussi utiliser des routes nommés pour gérer le menu actif. Accueil Contact Dans ce cas il faut nommer les routes comme suit Route::controller('/','AccueilController',array('getIndex' => 'accueil.')); Route::controller('contact','ContactController',array('getIndex' => 'contact.'));