Forum CMS Made Simple FR

Version complète : [Résolu] Reporter le nom de la rubrique parent dans un sous-menu
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : PHPNET
#~ Informations Système :
#~ Informations d'Installation du CMS
#~ Version du CMS 1.10.3
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour

j'ai sur mon site une barre de navigation horizontale qui comporte les principales rubriques. Le contenu de la rubrique s'affiche alors dans un menu latéral gauche. Jusque là, tout fonctionne à merveille mais je souhaiterais reporter le nom de la rubrique dans le sous-menu vertical.

J'ai cherché sur votre forum et les différentes aides, sans succès. Je suis allé également bidouiller dans le Menu Manager mais aucune option ne semble correspondre à ce que je souhaite.

Merci pour votre aide
Bonjour,

Pour le menu de gauche, je suppose que tu as utilisé le paramètre start_level="2" ?
Sinon pour solutionner ton problème, ce que je ferais est ajouter une seconde fois le tag {menu} avec comme template un nouveau template personnalisé nommé par exemple "template_menu_actif" :

Tu ajoutes le paramètre template au tag : {menu template="template_menu_actif"}.

Et dans le template que tu crées, tu filtres sur l'élément actuel, l'attribut $node->current.

Code :
[== XHTML ==]
{if $count > 0}
<ul>
{foreach from=$nodelist item=node}
{if $node->current == true}
  <li class="{$classes}"><a class="{$classes}" href="{$node->url}"><span>{$node->menutext}</span></a>
{/if}
{/foreach}
</ul>
{/if}

Je n'ai pas testé mais tu as une idée de la manière de procéder. A toi d'adapter le template en fonction de ton besoin. Si c'est juste pour afficher le titre du menu, {$node->menutext} est suffisant au sein du foreach.
Effectivement, j'ai utilisé les commandes suivantes pour afficher les 2 menus :

Menu horizontal : {menu template='accessible_simple_navigation.tpl' number_of_levels='1'}

Menu vertical : {menu template='accessible_simple_navigation.tpl' start_level='2' collapse='1'}

J'ai mis en pratique ta réponse mais au final, j’obtiens le nom de la page que je suis en train de consulter. Je ne vois pas comment lui dire de remonter d'un niveau pour aller chercher la rubrique correspondante.

Dans tous les cas merci pour ce premier conseil.
Effectivement ma réponse n'est pas exacte !

Peux-tu me confirmer qu'il ne te faut que libellé du menu de la page parente à celle affichée ?
Regarde peut-être ici : http://wiki.cmsmadesimple.org/index.php/....27s_alias

Tu dois normalement remplacer $currentContent->Alias(); par $currentContent->MenuText();

Tu dois copier le code adapté à ton besoin dans une balise utilisateur.
Ok merci Heriquet j'ai réussi à mettre cela en pratique avec ta piste.
Super ! Bonne continuation !
Cool si le sujet est résolu Smile Juste une autre piste pour ceux qui repasseraient ici : le module CGSimpleSmarty propose toute une série de petite fonctions utilisables directement dans Smarty, par exemple :

Code :
[== HTML / Smarty ==]
L'alias de la page racine est {$cgsimple->get_root_alias()}

On peut aussi récupérer le titre de la page :
Code :
[== HTML / Smarty ==]
Le titre de cette page est {$cgsimple->get_page_title()}

Et on combine :
Code :
{$cgsimple->get_root_alias('', 'root_alias')}
Titre de la page parent : {$cgsimple->get_page_title($root_alias)}

Voilà, et je ferme la discussion Wink

Edit : commentez si vous le souhaitez, on fermera après
Toujours bon à savoir ! Je connaissais pas. Merci !
De rien Wink Je ferme le sujet, bonne continuation