Jump to content
lucho84

Bloc Catégorie dynamique avec catégorie parente con cliquable sur PS 1.6

Recommended Posts

Bonsoir,
 
J'ai un site (PS 1.6.1.7) en cours de dev sur lequel je souhaiterais apporter une modifications au bloc catégorie.
 
Mon bloc catégorie est dynamique donc quand les sous catégories ne s'affiche pas tant que l'on ne clique pas sur la catégorie parente.
 
Je voudrais par contre faire en sorte que lorsque l'on clique sur la catégorie parente, il déroule l'affichage des sous catégories mais qu'il ne me charge pas l'affichage de la catégorie dans la colonne de droite.
 
J'ai accès à ce code dans le fichier category-tree-branch.tpl:

<li {if isset($last) && $last == 'true'}class="last"{/if}>
	<a 
	href="{$node.link|escape:'html':'UTF-8'}"{if isset($currentCategoryId) && $node.id == $currentCategoryId} class="selected"{/if} title="{$node.desc|strip_tags|trim|escape:'html':'UTF-8'}">
		{$node.name|escape:'html':'UTF-8'}
		<!--<span id="leo-cat-{$node.id}" style="display:none" class="leo-qty badge pull-right"></span>-->
	</a>
	{if $node.children|@count > 0}
		<ul>
			{foreach from=$node.children item=child name=categoryTreeBranch}
				{if $smarty.foreach.categoryTreeBranch.last}
					{include file="$branche_tpl_path" node=$child last='true'}
				{else}
					{include file="$branche_tpl_path" node=$child last='false'}
				{/if}
			{/foreach}
		</ul>
	{/if}
</li>

Mais je ne sais pas quoi modifier... Pourriez vous m'aider?

Share this post


Link to post
Share on other sites

 

Mon bloc catégorie est dynamique donc quand les sous catégories ne s'affiche pas tant que l'on ne clique pas sur la catégorie parente.

 

Je voudrais par contre faire en sorte que lorsque l'on clique sur la catégorie parente, il déroule l'affichage des sous catégories mais qu'il ne me charge pas l'affichage de la catégorie dans la colonne de droite.

 

 

Bonjour,

 

J'ai un peu du mal à comprendre ce que vous voullez faire, 

 

 lorsque l'on clique sur la catégorie parente, il déroule l'affichage des sous catégories

C'est déja le cas dans le template de base

 

mais qu'il ne me charge pas l'affichage de la catégorie dans la colonne de droite.

La je ne comprend pas, avez vous une url à nous communiquer car je ne comprend pas ce que fait votre thème.

 

Bonne journée

Edited by Ariane Web et Plus (see edit history)

Share this post


Link to post
Share on other sites

Bonsoir,

 

Voici le lien du site en dev argandia.itweb-conseil.fr en faite lorsque l'on clique sur la catégorie principale du bloc catégorie, dans la colonne de droite (la principale) il m'ouvre un résumé des sous catégories présentes, vu que je n'ai pas assez de produit que je ne souhaites pas que cela s'affiche, je voudrais faire en sorte que si on clique sur la catégorie principale cela déroule les sous catégories dans le bloc catégorie mais que ça ne modifie pas la colonne de droite.

 

Je ne sais pas si je me fais mieux comprendre, donc je vais faire une petite vidéo pour bien vous expliquer demain (la c'est l'heure de l'apéro... enfin à 22h43 il est un peu passé!) et je vous posterais le lien.

 

Merci à vous

Share this post


Link to post
Share on other sites

Bonsoir,

 

En faite je voudrais faire comme expliquer sur ce lien https://www.prestashop.com/forums/topic/280[spam-filter]resolu-categorie-non-cliquable/ à la différence que je suis mode dynamique et que je voudrais que lorsque l'on clique sur une catégorie principale, cela déroule l'affichage des sous catégories uniquement.

 

Je vous fait une vidéo en parallèle pour bien vous expliquer.

Share this post


Link to post
Share on other sites

Bonsoir,

 

Je m'excuse de vous relancer, mais je ne trouve toujours pas comment faire, aucun module n'existe pour le block catégorie, cela serait vraiment sympa si vous aviez une idée please!

Share this post


Link to post
Share on other sites

Bonjour,

 

Problème résolu. J'ai trouvé ce thread et un début de solution d'Olivier CLEMENCE https://www.prestashop.com/forums/topic/238104-supprimer-lien-sur-une-seule-categorie/?p=1178015

 

Cela a fonctionné pour une seule catégorie, dès que l'on ajouté d'autres catégories, cela ne fonctionnait pas. Après plusieurs tests effectués au niveau de la condition et (&& ou || ou AND...) j'ai enfin trouvé la bonne formule que je vous poste dessous :

 

Fichier d'origine category-tree-branch.tpl présent dans /themes/nomdemontheme/modules/blockcategories

<li {if isset($last) && $last == 'true'}class="last"{/if}>
	<a 
	href="{$node.link|escape:'html':'UTF-8'}"{if isset($currentCategoryId) && $node.id == $currentCategoryId} class="selected"{/if} title="{$node.desc|strip_tags|trim|escape:'html':'UTF-8'}">
		{$node.name|escape:'html':'UTF-8'}
		<!--<span id="leo-cat-{$node.id}" style="display:none" class="leo-qty badge pull-right"></span>-->
	</a>
	{if $node.children|@count > 0}
		<ul>
			{foreach from=$node.children item=child name=categoryTreeBranch}
				{if $smarty.foreach.categoryTreeBranch.last}
					{include file="$branche_tpl_path" node=$child last='true'}
				{else}
					{include file="$branche_tpl_path" node=$child last='false'}
				{/if}
			{/foreach}
		</ul>
	{/if}
</li>

Fichier modifié

<li {if isset($currentCategoryId) AND $node.id == $currentCategoryId}class="selected_li"{/if}>
	<a href="{if $node.id!=13 && $node.id!=19 && $node.id!=30 && $node.id!=39 && $node.id!=41 && $node.id!=71 && $node.id!=72}{$node.link|escape:'htmlall':'UTF-8'}{else}#{/if}" {if $node.id==13 || $node.id==19 || $node.id==30 || $node.id==39 || $node.id==41 || $node.id==71 || $node.id==72}onClick="toggleBranch($(this).parent().children('span.grower'))"{/if}
    	{if isset($currentCategoryId) AND $node.id == $currentCategoryId}class="selected"{/if} title="{$node.desc|escape:'htmlall':'UTF-8'}">
        {$node.name|escape:'htmlall':'UTF-8'}
    </a>
    {if $node.children|@count > 0}
		<ul>
			{foreach from=$node.children item=child name=categoryTreeBranch}
				{if $smarty.foreach.categoryTreeBranch.last}
					{include file="$branche_tpl_path" node=$child last='true'}
				{else}
					{include file="$branche_tpl_path" node=$child last='false'}
				{/if}
			{/foreach}
		</ul>
	{/if}
</li>

Il va de soit que si on crée une nouvelle catégorie principale il faudra rajouter son id dans ce code sinon son lien sera cliquable et ne déroulera pas les sous-catégorie (si il y en a).

 

Merci à Olivier pour sa solution et à Moi pour l'adaptation :)

 

Petite pique à propos de la communauté, depuis quelques années je vois que beaucoup de thread reste sans réponse ou sans entraide, que se passe t'il on dirait qu'elle se meure à petit feu. Pour ma part, j'ai réussi mais ça a été fastidieux malgré tout je poste la solution en espérant qu'elle puisse aider d'autres personnes.

Share this post


Link to post
Share on other sites

Bonjour, je me suis basée sur votre exemple mais comment faites vous si vous changez les catégories, il faut revenir dans le fichier voilà le hic. :mellow:

 

Vu que l'on a dans category-tree-branch.tpl la variable pour avoir si la catégorie a ou pas des sous-catégorie, il vaut mieux le faire comme ceci, si ça peux servir à d'autre :

	<a href="{if $node.children|@count > 0}#{else}{$node.link|escape:'html':'UTF-8'}{/if}" {if $node.children|@count > 0}onClick="toggleBranch($(this).parent().children('span.grower'))"{/if}
    	{if isset($currentCategoryId) AND $node.id == $currentCategoryId}class="selected"{/if} title="{$node.desc|escape:'htmlall':'UTF-8'}">
        {$node.name|escape:'htmlall':'UTF-8'}
    </a>
  • Like 1

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More