Forum CMS Made Simple FR
[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : [Résolu] Reporter le nom de la rubrique parent dans un sous-menu (/thread-2045.html)



[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - dlpworld - 14/06/2012

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


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 15/06/2012

Bonjour,

Pour le menu de gauche, je suppose que tu as utilisé le paramètre start_level="2" ?


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 15/06/2012

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.


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - dlpworld - 15/06/2012

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.


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 15/06/2012

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 ?


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 15/06/2012

Regarde peut-être ici : http://wiki.cmsmadesimple.org/index.php/Share_your_tags_here#Get_a_page.27s_root_parent.27s_alias

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

Tu dois copier le code adapté à ton besoin dans une balise utilisateur.


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - dlpworld - 15/06/2012

Ok merci Heriquet j'ai réussi à mettre cela en pratique avec ta piste.


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 15/06/2012

Super ! Bonne continuation !


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - airelibre - 16/06/2012

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


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - heriquet - 17/06/2012

Toujours bon à savoir ! Je connaissais pas. Merci !


[Résolu] Reporter le nom de la rubrique parent dans un sous-menu - airelibre - 18/06/2012

De rien Wink Je ferme le sujet, bonne continuation