THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour
Le menu sur aside a parfois 3 niveaux.
J'aimerais que le premier niveau: PORTFOLIO  (à la racine) soit toujours ouvert (sans le +)
Puis si une rubrique de deuxième niveau a des sous-rubriques, qu'il y ait le +
J,ai fouillé dans la doc de bootstrap et je crois que ce script ferait l'affaire.
Mais je ne sais pas où mettre le script? Je l'ai mis dans asides/menu.html mais cela ne onctionne pas.

Merci

<script type="text/javascript">
$(document).ready(function(){
$(".btn").click(function(){
$("#myCollapsible").collapse({
parent: false  });
  });
});
</script>

Offline


JE VAIS préciser ma demande:
C'est un site de photographies.
Il y a une seule rubrique au niveau racine: Portfolio
Puis il y a plusieurs rubriques de 2ième niveau
Je voudrais qu'elles s'affichent toutes à l'ouverture de la page
Elles ont un + (collapse) qui, une fois ouvert affichent soit les produits soit les autres sous-rubriques de niveau 3 qui ont elles aussi un +

J'ai lu et relu Bootstrap. Je ne trouve pas.
Si dans .../ includes/menu.html je change (ligne 23)
<ul id="collapse{$parent}" class="collapse"> par     <ul id="collapse{$parent}" class="in">
TOUT EST OUVERT À L'OUVERTURE DE LA PAGE MAIS CE N'EST PAS CE QUE JE VEUX.

Merci de m'aider si vous avez déjà créer un menu comme cela!

Offline


Je reviens demander de l'aide car je n'ai pas encore trouvé.
Tout ce que je veux c'est que la rubrique de niveau 0: Portfolio soit ouverte à l'ouverture de la page.
Merci de m'aider.
www.albertpicard.com

Last edited by renpic (02-07-2015 18:12:20)

Offline


un if suffit
si la categorie correspond a la categorie selectionnee tu mets in

{if $category_id == $ID}
    <ul id="collapse{$parent}" class="in">
{else}
    <ul id="collapse{$parent}" class="collapse">
{/if}

Offline


Je ne comprends pas comment faire.
J'ai mis comme cela et ça ne fonctionne pas.
La rubrique qui doit restée ouvrte est la rubrique1

<nav class="nav-categories">
            {* define current ID *}
            {loop name="current_cat" type="category" current="yes"}
                {assign var="current_category_id" value="{$PARENT}"}
            {/loop}
            {* define the function *}
            {function menu level=0}
                {if $level == 0}
                    <ul  id="category" class="accordion">
                    {else}
                      {if $category_id == 1}
    <ul id="collapse{$parent}" class="in">
{else}
    <ul id="collapse{$parent}" class="collapse">
{/if}
                {/if}
               


                    {loop name="cat-parent-$level" type="category" parent=$parent need_count_child=1 not_empty="1"}

                            {if $CHILD_COUNT> 0}
                                <li><a href="{$URL nofilter}#collapse{$ID}" class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#collapse{$ID}">{$TITLE}</a>
                                {menu parent=$ID level=$level+1}
                                </li>
                            {else}
                                <li><a href="{$URL nofilter}">{$TITLE} ({count type="product" category="{$ID}"})</a></li>
                            {/if}
                    {/loop}

                </ul>
            {/function}

            {menu parent='0'}

        </nav>

Offline


il faut aussi dire au LI de se deployer

<nav class="nav-categories">
{* define current ID *}
{loop name="current_cat" type="category" current="yes"}
    {assign var="current_category_id" value="{$PARENT}"}
{/loop}
{* define the function *}
{function menu level=0}
    {if $level == 0}
        <ul  id="category" class="accordion">
    {else}
        {if $category_id == 1}
            <ul id="collapse{$parent}" class="in">
        {else}
            <ul id="collapse{$parent}" class="collapse">
        {/if}
    {/if}

    {loop name="cat-parent-$level" type="category" parent=$parent need_count_child=1 not_empty="1"}
    
        {if $CHILD_COUNT> 0}
            <li><a href="{$URL nofilter}#collapse{$ID}" class="accordion-toggle {if $category_id == 1}collapse{else}collapsed{/if}" data-toggle="collapse" data-parent="#collapse{$ID}">{$TITLE}</a>
            {menu parent=$ID level=$level+1}
            </li>
        {else}
            <li><a href="{$URL nofilter}">{$TITLE} ({count type="product" category="{$ID}"})</a></li>
        {/if}
    {/loop}

        </ul>
{/function}

    {menu parent='0'}

</nav>

Last edited by zzuutt (03-07-2015 08:22:22)

Offline


Je l'ai essayé en local.
Avec ce code Portfolio de niveau 0 est ouvert mais la rubique de niveau 1 (bord de mer) qui a des sous-rubriques est ouverte aussi et cella-là je la veux fermée avec son +
Voici ce que je désire:

Niveau 0= Portfolio (-)
               Niveau 1= Bâtiments de ferme
               Niveau 1= Bord de mer (+)
               Niveau 1= Lignes électriques
www.albertpicard.com

Merci

Offline


Dans ton code tu initialises $category_id ou ?

Remplaces {if $category_id == 1}collapse{else}collapsed{/if}
par  {if $ID == 1}collapse{else}collapsed{/if}

<li><a href="{$URL nofilter}#collapse{$ID}" class="accordion-toggle {if $ID == 1}collapse{else}collapsed{/if}" data-toggle="collapse" data-parent="#collapse{$ID}">{$TITLE}</a>

Offline


Merci mille fois ZZUUTT.
C'est parfait.
Voici un lien pour voir ce que cela donne:
http://www.albertpicard.com/?view=categ … egory_id=1

et si cela peut en aider d'autres ... , voici le code de ..templates/frontOffice/default/includes/asides/menu.html

{hook name="category.sidebar-top"}
{ifhook rel="category.sidebar-body"}
   {hook name="category.sidebar-body"}
{/ifhook}
{elsehook rel="category.sidebar-body"}
<section id="categories" class="block block-nav" role="navigation" aria-labelledby="categories-label">
    <div class="block-heading"></div>
    <div class="block-content">
        <nav class="nav-categories">
{* define current ID *}
{loop name="current_cat" type="category" current="yes"}
    {assign var="current_category_id" value="{$PARENT}"}
{/loop}
{* define the function *}
{function menu level=0}
    {if $level == 0}
        <ul  id="category" class="accordion">
    {else}
         {if $ID == 1}
     
            <ul id="collapse{$parent}" class="in">
        {else}
            <ul id="collapse{$parent}" class="collapse">
        {/if}
    {/if}

    {loop name="cat-parent-$level" type="category" parent=$parent need_count_child=1 not_empty="1"}
   
        {if $CHILD_COUNT> 0}
<li><a href="{$URL nofilter}#collapse{$ID}" class="accordion-toggle {if $ID == 1}collapse{else}collapsed{/if}" data-toggle="collapse" data-parent="#collapse{$ID}">{$TITLE}</a>
            {menu parent=$ID level=$level+1}
            </li>
        {else}
            <li><a href="{$URL nofilter}">{$TITLE} ({count type="product" category="{$ID}"})</a></li>
        {/if}
    {/loop}

        </ul>
{/function}

    {menu parent='0'}

</nav>
    </div>

</section>
{/elsehook}
{hook name="category.sidebar-bottom"}