Jump to content

Sous catégorie en cours


Recommended Posts

Bonjour tout le monde,

 

Je viens de passer 2 h à rechercher comment je pourrais adapter le module Block Catégories pour qu'il n'affiche que les catégories en cours. J'ai trouver des centaines de poste de personnes qui recherchaient la même chose sans avoir de réponse concrète, alors j'en appelle à vous ! Vous êtes mon dernier espoir ! lol

 

En gros j'ai un menu horizontal xxl, j'ai 3 niveau de catégories. Je souhaiterais que quand on va dans une sous-catégorie le bloc catégorie n'affiche que les sous-sous catégorie de cette catégorie mère.

 

Beaucoup de site le fond mais aucune astuce trouvé pour la 1.5, c'est dingue !

 

Merci d'avance.

Link to comment
Share on other sites

J'y suis presque !!!!! Mais il me reste un petit soucis, voici le code que j'ai modifié dans le fichier category-tree-branch.tpl :

 

{assign var="show_child" value="false"}
{if !isset($currentCategoryId)}
    <li {if isset($last) && $last == 'true'}class="last"{/if}>
		    <a href="{$node.link}" title="{$node.desc|escape:html:'UTF-8'}">{$node.name|escape:html:'UTF-8'}</a>
    </li>
{/if}
{if isset($currentCategoryId) && ($node.id == $currentCategoryId)}
    {assign var="show_child" value="true"}
{/if}
{if $node.children|@count > 0}
    {foreach from=$node.children item=child name=categoryTreeBranch}
		    {if isset($currentCategoryId) && ($child.id == $currentCategoryId)}
				    {assign var="show_child" value="true"}
		    {/if}
    {/foreach}
{/if}
{if $show_child == 'true'}
    {if $node.children|@count > 0}
		    {foreach from=$node.children item=child name=categoryTreeBranch}
				    {if isset($smarty.foreach.categoryTreeBranch) && $smarty.foreach.categoryTreeBranch.last}
						    {include file="$branche_tpl_path" node=$child show='true' last='true'}
				    {else}
						    {include file="$branche_tpl_path" node=$child show='true' last='false'}
				    {/if}
		    {/foreach}
    {/if}
{/if}

{if isset($show)}
<li {if isset($last) && $last == 'true'}class="last"{/if}>
    <a href="{$node.link}" {if isset($currentCategoryId) && ($node.id == $currentCategoryId)}class="selected"{/if} title="{$node.desc|escape:html:'UTF-8'}">{$node.name|escape:html:'UTF-8'}</a>
    {if $node.children|@count > 0}
		    <ul>
		    {foreach from=$node.children item=child name=categoryTreeBranch}
				    {if isset($smarty.foreach.categoryTreeBranch) && $smarty.foreach.categoryTreeBranch.last}
						    {include file="$branche_tpl_path" node=$child show='true' last='true'}
				    {else}
						    {include file="$branche_tpl_path" node=$child show='true' last='false'}
				    {/if}
		    {/foreach}
		    </ul>
    {/if}
</li>
{/if}

 

Il me reste un seul souci :

J'ai 2 catégories principales, des sous-catégories et des sous-sous catégories pour certaine catégorie :

 

 

L'affichage obtenu avec ce code est bon c'est à dire que si je clique sur le 1er niveau dans mon menu horizontal

mon bloc à gauche affiche toutes les sous-catégories de cette catégorie mère, par contre si je clique sur une sous-catégorie dans mon menu horizontal le bloc caégorie m'affiche toujours les sous-catégorie (2ème niveau) et ouvre la sous-sous catégorie concerné ce qui est très bien par contre il me met 2 fois le noms des sous-sous catégories concerné ! (difficile d'être clair....)

 

(euh comment on met une image sur le forum il faut la stockée ailleurs ?)

  • Like 1
Link to comment
Share on other sites

J'y suis presque !!!!! Mais il me reste un petit soucis, voici le code que j'ai modifié dans le fichier category-tree-branch.tpl :

 

{assign var="show_child" value="false"}
{if !isset($currentCategoryId)}
	<li {if isset($last) && $last == 'true'}class="last"{/if}>
			<a href="{$node.link}" title="{$node.desc|escape:html:'UTF-8'}">{$node.name|escape:html:'UTF-8'}</a>
	</li>
{/if}
{if isset($currentCategoryId) && ($node.id == $currentCategoryId)}
	{assign var="show_child" value="true"}
{/if}
{if $node.children|@count > 0}
	{foreach from=$node.children item=child name=categoryTreeBranch}
			{if isset($currentCategoryId) && ($child.id == $currentCategoryId)}
					{assign var="show_child" value="true"}
			{/if}
	{/foreach}
{/if}
{if $show_child == 'true'}
	{if $node.children|@count > 0}
			{foreach from=$node.children item=child name=categoryTreeBranch}
					{if isset($smarty.foreach.categoryTreeBranch) && $smarty.foreach.categoryTreeBranch.last}
							{include file="$branche_tpl_path" node=$child show='true' last='true'}
					{else}
							{include file="$branche_tpl_path" node=$child show='true' last='false'}
					{/if}
			{/foreach}
	{/if}
{/if}

{if isset($show)}
<li {if isset($last) && $last == 'true'}class="last"{/if}>
	<a href="{$node.link}" {if isset($currentCategoryId) && ($node.id == $currentCategoryId)}class="selected"{/if} title="{$node.desc|escape:html:'UTF-8'}">{$node.name|escape:html:'UTF-8'}</a>
	{if $node.children|@count > 0}
			<ul>
			{foreach from=$node.children item=child name=categoryTreeBranch}
					{if isset($smarty.foreach.categoryTreeBranch) && $smarty.foreach.categoryTreeBranch.last}
							{include file="$branche_tpl_path" node=$child show='true' last='true'}
					{else}
							{include file="$branche_tpl_path" node=$child show='true' last='false'}
					{/if}
			{/foreach}
			</ul>
	{/if}
</li>
{/if}

 

Il me reste un seul souci :

J'ai 2 catégories principales, des sous-catégories et des sous-sous catégories pour certaine catégorie :

 

 

L'affichage obtenu avec ce code est bon c'est à dire que si je clique sur le 1er niveau dans mon menu horizontal

mon bloc à gauche affiche toutes les sous-catégories de cette catégorie mère, par contre si je clique sur une sous-catégorie dans mon menu horizontal le bloc caégorie m'affiche toujours les sous-catégorie (2ème niveau) et ouvre la sous-sous catégorie concerné ce qui est très bien par contre il me met 2 fois le noms des sous-sous catégories concerné ! (difficile d'être clair....)

 

(euh comment on met une image sur le forum il faut la stockée ailleurs ?)

 

Pour ajouter une images sur le forum, faut que tu passe par onglet->Mes paramètres->Manage Attachments.

 

Tu Up tous tes fichiers puis dans le textearea de ton poste tu fait My Media.

 

Je pense avoir trouvé une autres solution en modifiant directement le fichier php du module catégorie.

 

Mais je vais tester ton code de plus prêt.

 

Merci bonne journée.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Bonsoir,

Moi aussi j'aimerais pouvoir faire tel que présenté dans le site en référence plus haut. Rien trouvé non plus :(

1- J'ai un menu horizontal

2- J'aimerais que mon bloc catégories n'apparaisse pas dans la page d'accueil et utiliser l'espace disponible alors que mon template est en 3 colonnes : est-ce possible ?

3- Lorsqu'un visiteur clique sur une catégorie dans mon menu horizontal, j'aimerais que le contenu de cette catégorie au complet s'affiche dans un bloc menu/sous-menu sur la gauche : comment faire ??

Merci d'avance :wub:

 

Bon, j'ai trouvé pour ne pas faire apparaitre le bloc de gauche, mais je n'arrive pas à élargir le block central pour la page index une fois le bloc désactivé... Quelqu'un aurait-il une piste svp ?

 

Ok pour le bloc central. Dire que je n'y connais rien et que j'avais choisi Prestashop en pensant me baser sur une communauté capable de répondre aux questions ;-) !! Je réponds moi-même à mes questions... au bout de nombreuses heures de recherches et d'essais, mais bon..

Edited by lanijulmar (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...

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...