Jump to content

Ne pas afficher la derniere arborescence des categories


Recommended Posts

Bonjour,

 

J'aimerais pouvoir depuis le template, ne pas afficher la dernière famille d'une branche.

Exemple :

 

Boisson

--Coca

-----33cl

-----50cl

--Orangina

-----33cl

-----50cl

Dessert

--Gateau

-----1 part

-----2 parts

--Creme

 

Je voudrais dans le module block category, pouvoir ne pas afficher les familles 33cl et 50cl, 1 parts, 2 parts...

C'est toujours la dernière famille de l'arborescence qu'il faut ne pas afficher.

Dans le code ci-dessous, j'ai essayer de rajouter {if isset($child)} {/if} mais ça ne marche pas...

 

Une idée ?

 

Merci pour votre aide.

 

Romuald.

 

<!-- Block categories module -->
<div id="categories_block_left" class="block">
<h4>{l s='Categories' mod='blockcategories'}</h4>
<div class="block_content">
 <ul class="tree {if $isDhtml}dhtml{/if}">
 {foreach from=$blockCategTree.children item=child name=blockCategTree}
  {if isset($child)}
{if $smarty.foreach.blockCategTree.last}
 {include file="$branche_tpl_path" node=$child last='true'}
{else}
 {include file="$branche_tpl_path" node=$child}
{/if}
  {/if}
 {/foreach}
 </ul>
 {* Javascript moved here to fix bug #PSCFI-151 *}
 <script type="text/javascript">
 // <![CDATA[
  // we hide the tree only if JavaScript is activated
  $('div#categories_block_left ul.dhtml').hide();
 // ]]>
 </script>
</div>
</div>
<!-- /Block categories module -->

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

Bonjour

en mettant

{if isset($child)}

tu dit "si des enfants existent".

essai plutôt

{if !isset($child)}

ou un count<=0 peut-être

 

Mais si jamais ça fonctionne le résultat sera à mon avis que tu n'aura plus aucune sous catégorie (même de niveua 2).

Ca vaut déjà le cout de tester pour faire avancer le schmilblick parceque ensuite en rajoutant un test du genre "si le noeud actuel à un parent" .... ça devrait te permettre de faire ce que tu veux

Edited by maniT4c (see edit history)
  • Like 1
Link to comment
Share on other sites

Salut et Merci pour ta réponse maniT4c !

 

Effectivement avec ta manip, il ne reste plus de famille dans l'arborescence :)

 

J'ai modifié le fichier category-tree-branch.tpl (toujours dans le module blockcategories) de cette façon :

 


{* j'ai remonté le test sur le comptage des enfants au plus haut *}
{if $node.children|@count > 0}

<li {if isset($last) && $last == 'true'}class="last"{/if}>
 <a href="{$node.link|escape:'htmlall':'UTF-8'}" {if isset($currentCategoryId) && $node.id == $currentCategoryId}class="selected"{/if} title="">{$node.name|escape:'htmlall':'UTF-8'}</a>
 <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>
</li>
{/if}

 

J'ai bien le résultat voulu mais il reste le petit + devant la famille (qui ne s'ouvre pas bien sur car rien dedans)...

 

Une idée ?

 

Bye

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