ericdel Posted March 7, 2012 Share Posted March 7, 2012 Bonjour J'utilise le module Topmenu de Julien Breux, merci à lui. Je n'ai que des catégories de premier niveau. Lorsqu'on est dans une catégorie, le code $selected = (((int)Tools::getValue('id_category') == $id_category)) ? ' class="sfHoverForce"' : ''; permet d'appliquer le style adéquat au <li> (au <a> pour moi j'ai un peu modifié) afin de mettre en évidence la catégorie active. Comment faire en sorte que, étant dans une fiche produit, la catégorie à laquelle appartient le produit soit "activée" ? Je ne sais pas comment récupérer le id_categoy_current à partir de blocktopmenu.php, cela me donne juste 0 ? Liens (NSFW les amis) : page catégorie, catégorie active tout est super page produit, pas de catégorie active... comment faire ? Le code entier : private function getCategory($id_category, $id_lang) { global $page_name; $categorie = new Category($id_category, $id_lang); if(is_null($categorie->id)) return; $selected = (((int)Tools::getValue('id_category') == $id_category)) ? ' class="sfHoverForce"' : ''; $this->_menu .= '<li>'; if(count(explode('.', $categorie->name)) > 1) $name = str_replace('.', '', strstr($categorie->name, '.')); else $name = $categorie->name; $this->_menu .= '<a href="'.$categorie->getLink().'" '.$selected.'>'.$name.'</a>'; $childrens = Category::getChildren($id_category, $id_lang); if(count($childrens)) { $this->_menu .= '<ul>'; foreach($childrens as $children) $this->getCategory($children['id_category'], $id_lang); $this->_menu .= '</ul>'; } $this->_menu .= '</li>'; } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now