l’intérêt principal, en dehors de l’absence de limite de profondeur, est de ne pas se limiter à lister d’abord les rubriques et ensuite les articles dans les sous-menus, mais de les sortir entrelacées, dans l’ordre que l’on aura choisi.
exemple
le site se compose de
- rubrique fruits
- article poires
- article pommes
- rubrique légumes
- article poireaux
- rubrique pomme de terre
- article bintje
- article belle de fontenay
- article chou-fleur
- article navet
- article tomates
- article poivrons
- article concombre
ce menu permet de placer la rubrique pomme de terre entre les articles poireaux et chou-fleur : on ne mélange pas les légumes d’hiver avec ceux d’été...
voir ici un exemple en ligne sur un spip 1.7.2 non modifié en ayant juste uploadé tous les fichiers.
contenu
menu.html/menu.php3 : squelette du menu à appeler dans les pages.
menu.css/menu.js : feuille de style et javascript pour l’affichage du menu.
plus.gif/moins.gif : images « + » et « - » pour développer et condenser les sous menus.
mes_fonctions.php3 : deux filtres, pour jouer avec les numéros d’ordre dans les titres des articles et des rubriques.
article.html/article.php3 : squelette d’article rudimentaire contenant l’appel du menu.
rubrique.html/rubrique.php3 : squelette de rubrique rudimentaire contenant l’appel du menu.
sommaire.html/sommaire.php3 : squelette de sommaire rudimentaire contenant l’appel du menu, en dehors d’un contexte d’article ou de rubrique.
mise en oeuvre
- numérotez les titres des articles et des rubriques pour les classer avec un numéro de la forme « nn. » (numéro d’ordre point espace) ; pour l’exemple ci-dessus, on aurait : « 1. fruits » « 1. poires » « 2. pommes » « 2. légumes » « 1. poireaux » « 2. pommes de terre » « 3. navets » ...
- filtrez vos appels de titre par (#TITRE ;
- copier les deux filtres de mes_fonctions.php3 dans le vôtre ;
- placer les fichiers menu.html, menu.php3, menu.js, menu.css, plus.gif et moins.gif à la racine de votre spip ;
- copier l’appel du menu :
<INCLURE(menu.php3){id_rubrique}{id_article}>
à l’endroit opportun dans les fichiers où vous en avez besoin ;
- jouez avec menu.css pour adapter le menu à votre mise en page ;
précautions d’emploi
- si vous n’utilisez pas article.html/article.php3 et rubrique.html/rubrique.php3 comme squelette d’affichage des articles et des rubriques, il faut modifier menu.html : ligne 29 colone 111 pour rubrique et ligne 41 colone 118 pour article.
- si les titres des articles et des rubriques ne contiennent pas de numéro, elle seront classées par ordre alphabétique.
Discussions par date d’activité
31 discussions
Bonjour,
J’utilise le menu depuis le début sans problème. Je viens de passer un de mes sites sous v1-8b2 et là je rencontre le problème suivant. Dans le menu rubrique, la rubrique s’ouvre normalement. Par contre, dans l’environnement article, le secteur s’ouvre mais pas la rubrique parente. Dans le même squelette sous v1-7-2, le menu marche normalement. Une idée ?
Merci d’avance.
Je me réponds à moi-même. La version 1-8 nécessite une grande rigueur dans l’application des critères de boucle. Dans la boucle ouvre_article du fichier menu.html il existe une BOUCLE (HIERARCHIE) sans critère. Il suffit de rajouter id_article et le menu fonctionne.
YR
Répondre à ce message
est-ce qu’il a été essayé avec la 1.8b1... parce que je fais des essais, mais voilà l’erreur que j’obtiens :
Parse error : parse error, unexpected T_STRING, expecting ’)’ in c :\documents and settings\jl-grellier\mes documents\mes sites\region2004_spip1_8\inc-public.php3(8) : eval()’d code on line 74
Quelqu’un peut-il m’aider ???
Merci
A+
C’est de mieux en mieux, j’ai le même message sur une 1.7.2... sur easyphp en local ???
des idées ??
Merci
A+
voici le message que j’obtiens sur une version 1.7.2, que ce soit en local ou en mode distant.
Parse error : parse error, unexpected T_STRING, expecting ’)’ in /var/premium/www/data/B/8/E/7/B8E7A43K/site/CACHE/d/men-id-id_article%3D.891e43.NEW on line 38
Les fichiers ont été installés conformément à la documentation qui définit la mise en oeuvre.
Quelqu’un a-t-il rencontré / résolu ce problème ?
Merci de votre aide.
meme pb ..............
Répondre à ce message
Bonjour,
Lorsque j’essaye de faire marcher le menu j’obtiens invariablement ce message. la partie de droite (contenu) apparait néanmoins....
d’ou cela peut il venir ?
merci
manu
Répondre à ce message
deux problemes non resolus :
sous Ie une partie du menu « disparait »
exemple ici : www.plastocratie-70.tk/sommaire.php3
Le second probleme est celui du critere lang : pas moyen de filtrer correctement les articles. Si je passe en ESpagnol dans l’url, l’article ES n’est pas selectionné au profit du FR...
quelqu’un a une idée ?
sinon, beau travail !
Si par disparaitre tu entends la rubrique d’appartenance de l’article se replie, alors, j’ai constaté la même chose, à priori en 1.8 et sous IE et Netscape. Car en fait c’est, semble t il la partie javascript générée par les deux boucles spip de menu.html, qui n’est pas la même en 1.8 qu’en 1.7. Le change(rubrique_id) de la rubrique de l’article n’est pas généré ...
je sais, je ne résouds rien, mais ce sont les constatations que j’ai faites jusqu’alors ...
à suivre ...
JFox
Bon ! ben y semblerait que j’ai une solution : j’espère que c’est dans « les règles de l’art »
script type=« Text/JavaScript »
B_menu_voir_article
BOUCLE_menu_voir_article(HIERARCHIE)
change(’#ID_RUBRIQUE’) ;
/BOUCLE_menu_voir_article
change(’#ID_RUBRIQUE’) ;
/B_menu_voir_article
//B_menu_voir_article
document.getElementById(’art#ID_ARTICLE’).style.color=« #fcb103 » ;
/script
a+
JFox
Répondre à ce message
Superbe, les autres menus en arborescences rencontraient tjs quelques problèmes pour les sous-sous-sous rubriques. Avec celui là aucun problème !
Par contre j’aimerais savoir s’il est possible de déplier automatiquement une branche, dès l’affichage du menu.
Merci de la réponse, je ne suis certainement pas le seul à être dans ce cas !
bonjour a tous, ce menu a l’air excellent !
ce que moi j’aimerais savoir, c’est s’il est possible de déplier une branche au survol de la souris et non en cliquant sur l’icone ?
merci d’avance pour vos pistes !
pour une fois que j’ai de l’avance: :
fichier menu.html
ligne 28 : change « onclick » par « onmouseover »
et le menu s’ouvre au survol...
par contre, pour l’ouvrir de le chargement...« onload » mais alors, la il n’est plus reactif.
Quand a moi, j’essaie de desativer le click sur les rubriques...au secours !
merci
Super !
http://afi05.free.fr/spip/
merci
Répondre à ce message
Bonjours à tous.
Dans mon menu de navigation ma bordure pose problème ... je ne sais plus quoi faire ...
Article avec problème
Article sans problème
Voici mon code article.html
Et habillage.css
Merci !
Ce problème ce pose uniquement sur la dernière rubrique
Répondre à ce message
Bonjour, j’y suis presque, il me manque juste une explication : Que signifie cet extrait du fichier « Lisez moi » :
Là je dois dire, ça m’échappe : Que dois-je faire exactement ? Reprendre chaque article pour le renommer ??? Je dois mal comprendre... Help ?
Merci, pX (www.halluci.net)
Répondre à ce message
... dans un premier temps, je voudrais que ce menu hiérarchique ne présente que ce qu’il y a sous une seule rubrique, et pas l’ensemble du site : comment faire ?
Et puis je n’ai pas compris comment on pourrait ouvrir au démarrage les diffénrets niveaux d’arborescence sans présenter les articles, juste les rubriques.
Merci pour vos aides judicieuses et généreuses.
Sinon, c’est un super travail.
Amicalement
François
Jusqu’à que le nombre de sous-rubrique dépassent la 20aine (après le menu semble afficher une page blanche :s ) je faisais ainsi pour afficher une seule rubrique et, de surcroit, l’ouvrir :
j’ai remplacé, au début du script, dans menu.html :
Répondre à ce message
J’ai un problème avec ce menu : rien ne s’affiche, depuis que le nbr de sous-rubriques a largement augmenté (avec 10 ss-rubriques : pas de problemes, avec 25-30 : le menu m’affiche une page blanche).
Quelqu’un a une idée pour palier à ce problème ?
Répondre à ce message
J’ai posé la question sur la liste des dev de spip et voici ce qui m’a été répondu :
Ce squelette prend un champ SQL contenant des guillemets et le met dans une chaine PHP entre guillemets ; c’est à l’auteur du squelette de se protéger de cette situation en rajoutant un filtre.
j’ai alors demandé une petite explication supplémentaire et voici ce qu’il m’a dit :
remplacer les " par des ’ et rajouter le filtre addslashes .
si ça peut rendre service... moi en tout cas j’ai toujours pas pigé...
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |