Rtransat Posted February 28, 2013 Share Posted February 28, 2013 (edited) Bonjour à tous, Je fais un module qui affiche 2 catégories sous forme d'onglet. J'affiche dans les onglets la catégorie parente et en dessous j'affiche les catégories enfant du premier niveau. Voila le code en question : <?php public function hookLeftColumn($params) { $id_lang = (int)$params['cookie']->id_lang; $categoriesBrowse = array('0' => 6, '1' => 7); $categories = array(); $category = array(); foreach($categoriesBrowse as $k => $id) { //$cats = Category::getChildren($id, $id_lang); $category = new Category($id, $id_lang); $cats = $category->getSubCategories($id_lang); foreach($cats as $kk => $cat) { $categories[$k]['name'] = $category->name; $categories[$k]['id'] = $category->id_category; $categories[$k]['subcats'][] = $cat; } } $this->smarty->assign('categories', $categories); return $this->display(__FILE__, 'blockcategoriesselected.tpl'); } Et le TPL : <!-- Block categories module --> <div id="categories_block_left_tab" class="block"> <div class="block_content"> <ul id="onglets" class="clearfix"> {foreach from=$categories item=categoryTab key=k name=categoryTab} <li class="{if $smarty.foreach.categoryTab.first}selected{/if}{if $smarty.foreach.categoryTab.first} first{/if}{if $smarty.foreach.categoryTab.last} last{/if}">{$categoryTab.name}</li> {/foreach} </ul> <div class="content"> {foreach from=$categories item=category key=k name=categories} <div class="item{if $smarty.foreach.categories.index != 0} hidden{/if}"> <span>{l s='Our %s brands' sprintf=$category.name mod='blockcategoriesselected'}</span> <ul> {foreach from=$category.subcats item=item} <li><a href="{$link->getCategoryLink($item.id_category)}">{$item.name}</a></li> {/foreach} </ul> </div> {/foreach} </div> </div> </div> <!-- /Block categories module --> Ce que je voudrais faire c'est lorsque je suis sur une des 2 catégories parentes en question mettre la classe selected à l'onglet courant de cette catégorie. Et ensuite afficher dans la balise a une classe selected si on est dans une des catégories enfant. Mais je ne vois pas du tout comment faire pour savoir dans quelle catégorie on se situe via l'URL. Edit : Pour les liens des sous catégories c'est bon j'ai juste fait : <a href="{$link->getCategoryLink($item.id_category)}" class="{if $smarty.get.id_category == $item.id_category}selected{/if}">{$item.name}</a> Donc le mieux pour les parents c'est de faire la même chose, mais si on est sur un enfant il faudrait récupérer l'id parent de la catégorie et mettre la classe selected pour celui ci, mais là je ne vois pas comment faire :/ Merci d'avance. Edited February 28, 2013 by Rtransat (see edit history) 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