Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[RESOLU]Configuration d'un menu
#1

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS -MLE- : ?
#~ Nom de l'hébergeur : localhost
#~ Informations Système :
#~ Version du CMS
#~ 1.8.2
#~ Modules installés
#~ CMSMailer
#~ 2.0
#~ FileManager
#~ 1.0.2
#~ MenuManager
#~ 1.6.5
#~ ModuleManager
#~ 1.4
#~ News
#~ 2.10.6
#~ nuSOAP
#~ 1.0.2
#~ Printing
#~ 1.1.0
#~ Search
#~ 1.6.5
#~ ThemeManager
#~ 1.1.1
#~ TinyMCE
#~ 2.7.3
#~ Album
#~ 0.9.3
#~ GoogleMaps
#~ 0.1.8
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~

Bonjour à tous,

Je souhaite faire un menu spécifique sur un de mes projets.
Voila le menu que je souhaite obtenir:
Citation :<ul id="topnav">
<li><a href="#">Link</a></li>
<li>
<a href="#">Link</a>
<!--Subnav Starts Here-->
<span>
<a href="#">Subnav Link</a> |
<a href="#">Subnav Link</a> |
<a href="#">Subnav Link</a>
</span>
<!--Subnav Ends Here-->
</li>
<li><a href="#">Link</a></li>
</ul>
actuellement je suis à ce niveau:
Citation :<ul id="topnav">
<li class="menuactive">
<a class="menuactive" href="http://127.0.0.1/">Accueil</a>
</li>
<li class="menuparent">
<a class="menuparent" href="http://127.0.0.1/fr/sejours.html">Séjours</a>
<span>
<li>
<a href="http://127.0.0.1/fr/sejours/pyrenees.html">Pyrénées</a>
</li>
<li>
<a href="http://127.0.0.1/fr/sejours/pyreneens-d-ailleurs.html">Pyrénéens d'ailleurs</a>
</li>
<li>
<a href="http://127.0.0.1/fr/sejours/groupes-associations-collectivites.html">Groupes, associations, collectivités</a>
</span>
</li>
<li class="menuparent">
<a class="menuparent" href="http://127.0.0.1/fr/concept.html">Concept</a>
<span>
<li>
<a href="http://127.0.0.1/fr/concept/partenaires.html">Partenaires</a>
</span>
</li>
<li>
<a href="http://127.0.0.1/fr/demande-de-devis.html">Demande de devis</a>
</li>
<li>
<a href="http://127.0.0.1/fr/contact.html">Contact</a>
</li>
<li>
<a href="http://127.0.0.1/fr/fraisdossier.html">Frais de dossier</a>
</li>
<li>
<a href="http://127.0.0.1/fr/conditions-generales-de-vente.html">Conditions générales de vente</a>
</li>
<li>
<a href="http://127.0.0.1/fr/votre-galerie.html">Votre galerie</a>
</li>
<li>
<a href="http://127.0.0.1/fr/mentions-legales.html">Mentions légales</a>
</li>
</ul>
Je suis en train d'essayer de me modifier le gabarit du menu, mais je ne vois pas où je dois ou quoi modifier pour obtenir le menu désiré, voici le code du menu actuel.
Si quelqu'un verrait où est mon erreur, merci de me le dire:
Citation :{if $count > 0}
<div id="menuwrapper">
<ul id="topnav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<span>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</span>' times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent">
<a class="menuactive menuparent" {elseif $node->current == true}
<li class="menuactive">
<a class="menuactive" {elseif $node->haschildren == true}
<li class="menuparent">
<a class="menuparent" {elseif $node->type == 'sectionheader' and $node->haschildren == true}
{elseif $node->type == 'separator'}
{else}
<li>
<a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
{if $node->target}target="{$node->target}" {/if}
href="{$node->url}">{$node->menutext}</a>
{elseif $node->type == 'sectionheader'}
><span class="sectionheader">{$node->menutext}</span></a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>
</div>
{/if}

Merci d'avance.
lemirandais
#2

2 niveaux seulement ?
#3

Oui, en fait si vous préférez, j'ai fait un menu en html en "dur" mais je ne vois pas comment le faire en smarty.
#4

Je n'ai pas testé, regarde ceci et donne-moi le résultat en html
Code :
{if $count > 0}
<div id="menuwrapper">
<ul id="topnav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string='<span>' times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string='</span></li>' times=$node->prevdepth-$node->depth}
{elseif $node->index > 0}</li>
{/if}
{if $node->parent == true or ($node->current == true and $node->haschildren == true)}
<li class="menuactive menuparent"><a class="menuactive menuparent"
{elseif $node->current == true}<a class="menuactive"
{else}<a {/if}
{if $node->type != 'sectionheader' and $node->type != 'separator'}
href="{$node->url}">{$node->menutext}</a>
{/if}
{/foreach}
{repeat string='</li></ul>' times=$node->depth-1}
</li>
</ul>
<div class="clearb"></div>
</div>
{/if}
#5

Voici le résultat

Code :
<ul id="topnav">
<a class="menuactive"
href="http://dev.voyage-pyrenees.com/">Accueil</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/sejours.html">Séjours</a>
<span>
<a href="http://dev.voyage-pyrenees.com/fr/sejours/pyrenees.html">Pyrénées</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/sejours/pyreneens-d-ailleurs.html">Pyrénéens d'ailleurs</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/sejours/groupes-associations-collectivites.html">Groupes, associations, collectivités</a>
</span></li>
<a href="http://dev.voyage-pyrenees.com/fr/concept.html">Concept</a>
<span>
<a href="http://dev.voyage-pyrenees.com/fr/concept/partenaires.html">Partenaires</a>
</span></li>
<a href="http://dev.voyage-pyrenees.com/fr/demande-de-devis.html">Demande de devis</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/contact.html">Contact</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/fraisdossier.html">Frais de dossier</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/conditions-generales-de-vente.html">Conditions générales de vente</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/votre-galerie.html">Votre galerie</a>
</li>
<a href="http://dev.voyage-pyrenees.com/fr/mentions-legales.html">Mentions légales</a>

</li>
</ul>
Il manque a premier coup d'oeil le li de départ et les LI dans les spans qui ne sont pas utile.
#6

Je vais me créer quelques pages, ce sera plus facile Wink
Je te dis quoi.
#7

Merci pour votre aide.

Sur mon code plus haut, il y avait dans les <span> des LI alors qu'il ne les falait pas.
Je pense que je ne dois pas être trop loin, mais je vois pas comment résoudre mon soucis, merci encore.
#8

Code :
{strip}
{if $count > 0}
<ul class="topnav">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<!--Subnav Starts Here--><span>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="<!--Subnav Ends Here--></span></li>" times=$node->prevdepth-$node->depth}
{elseif $node->index > 0 && $node->depth==1}</li>
{/if}
{if $node->depth == 1}
<li> <a href="{$node->url}" class="parent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>
{else}
<a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} |</a>
{/if}
{/foreach}
{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
{/strip}
Si tu tiens à ce qu'il n'aie pas "|" au dernier lien du 2e niveau, tu le dis.
#9

Merci petite question malgré que mon problème est résolu, Que signifie strip?
#10

Cela nettoie le code html des espaces (la page est moins lourde à charger).
http://www.smarty.net/manual/fr/language....strip.php
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)