2 menus dur dure je sèche... - jfsenechal - 07/10/2010
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.8.2
#~ Nom de l'hébergeur : debian lenny
#~ Informations Système :
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Bonjour,
j'essaie depuis plusieurs jours à faire mon menu, mais là je désespère
Voici ma situation :
j'ai un menu top {menu start_element="1" template="top.tpl" number_of_levels="2" }
qui affichent les éléments en
1.1
1.2
1.3
....
quand on choisis un élément, ce menu ne bouge pas, mais un
un sous menu {menu childrenof="$page_alias" collapse="1" template="sousmenu.tpl"}
qui affiche les enfants (sous un seul sous niveau) du menu top sélectionné
1.1.1
1.1.2
1.1.3
...
ensuite quand on clic dans le sous menu, on a les sous élements du choix fais
1.1.1.1
1.1.1.2
1.1.1.3
ainsi de suite
Le soucis actuel, c'est que le sous menu affichent tous les sous éléments, j'ai beau essayé avec number_of_levels="2"
ou collapse, rien n'y fait
comment dois je m'y prendre ?
Merci
2 menus dur dure je sèche... -
airelibre - 07/10/2010
Bonjour,
je ne suis pas sûr d'avoir bien compris... c'est ton second menu ou ton troisième qui pose problème ? Le premier c'est ok ?
2 menus dur dure je sèche... - jfsenechal - 07/10/2010
Oui je me suis trompé dans le titre c'est deux menus
le premier est ok
le soucis est avec le deuxième, je voudrai qu'il affiche simplement les sous éléments de l'élément sélectionné dans le premier menu
que ces sous éléments soient affiché par un seul sous level à la fois et pas tous les sous levels d'un coup
2 menus dur dure je sèche... - jfsenechal - 07/10/2010
En faite, je me demande si à cause de la variable childrenof ce que je demande n'est pas possible
quand je vois le code cmsms :
modules/MenuManager/action.default.php
Code :
if (isset($params['childrenof']) )
{
$parent =& $hm->sureGetNodeByAlias($params['childrenof']);;
if( $parent )
{
// get the children.
$children = $parent->GetChildren($deep);
if( !is_array($rootnode) ) $rootnode = array();
foreach( $children as $onechild )
{
$rootnode[] = $onechild;
}
}
}
else if (isset($params['start_page']) || isset($params['start_element']))
{
2 menus dur dure je sèche... -
Jean le Chauve - 07/10/2010
Essaye sans les quotes : {menu childrenof=
$page_alias collapse="1" template="sousmenu.tpl"}
sinon il cherche une page nommée $page_alias et pas la variable.
2 menus dur dure je sèche... - jfsenechal - 08/10/2010
ça ne change rien au comportement
en faite ce qu'il me manque uniquement c'est qu'il s'arrête à un sous niveau et pas m'afficher toute l'arborescence
j'ai beau utiliser des collapse ou number_of_levels il n'en tient pas compte
est-ce que je ne pourrai pas travailler sur la boucle dans le fichier menu.tpl ?
quelqu'un sait il me donner une piste ?
Merci
2 menus dur dure je sèche... -
Jean le Chauve - 08/10/2010
En effet, Childrenof semble exclure la plupart des paramètres. Il est dans une boucle if elseif comme tu l'as judicieusement fait remarquer.
Tu pourrais essayer une solution includeprefix au lieu de childrenof.
Es-tu certain de ce que tu veux, car si j'étais internaute et qu'il me faille cliquer 10 fois avant d'arriver à la bonne page sans même savoir si je trouverai ce dont j'ai besoin...
2 menus dur dure je sèche... - jfsenechal - 11/10/2010
Citation :Tu pourrais essayer une solution includeprefix au lieu de childrenof.
Ha non ça devient des chipos à la SPIP
vai peut être repenser ma navigation