Jump to content

Récupérer La Catégorie Courante Dans Un Module


Recommended Posts

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 by Rtransat (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...