Menu accordéon 2

Le plugin Menu accordéon n’est plus maintenu.

Voici une nouvelle version, basée sur le principe de la séparation du contenu, de la forme et de l’animation.

Principe

Le précédent plugin mélangeait deux choses :
-  le contenu du menu
-  l’effet accordéon qui y était associé, c’est à dire la présentation « en tiroir ».

Cette nouvelle version du plugin s’occupe uniquement de l’effet accordéon. Il ne s’occupe pas du contenu de ce menu. Le travail peut-être délégué au plugin Menus ou à une noisette Aveline par exemple ou même géré indépendamment en squelette. Il suffira de donner au ul principal du menu la classe accordeon ou bien de remplir le champ par votre class ou votre identifiant dans la configuration du plugin (ajout du 14 aout 2012).

Il ne s’occupe pas non plus de l’apparence (CSS).

Installation

Le plugin s’installe comme n’importe quel plugin.

Il nécessite toutefois le plugin JQueryUi, qui est livré en standard avec SPIP 3.

À noter qu’il peut évidemment s’installer avec STEP

Création du menu

On peut créer le menu avec le plugin Menus, et l’installer dans son squelette à l’endroit souhaité. Je renvoie donc à la documentation du plugin Menus.

Pour que le menu créé ait un effet accordéon, il suffit de lui accorder la classe accordeon dans le champ correspondant du plugin Menus.

Attention : pour que l’effet accordéon fonctionne, le menu ne doit pas avoir plus de 2 niveaux.

Exemple

Je souhaite avec un menu accordéon qui « accordéonne » sur les rubriques de premiers niveaux, en affichant le cas échéant les rubriques du niveau inférieur.

Suivant la documentation du plugin Menus :
-  j’insère dans mon squelette le code suivant :#INCLURE{fond=inclure/menu, env, identifiant=menu}
-  Je crée un menu dont l’identifiant est menu et auquel j’accorde la classe CSS accordeon
-  Dedans je crée une entrée de type « Liste ou arborescence de rubriques » que je limite à 2 niveau.

Un dessin vaut mieux qu’un discours :

Configuration avancée

La configuration permet d’ajouter des options, en suivant la syntaxe : option:valeur,option2:valeur etc. La liste des options se trouve sur le site de Jquery.

Le panneau de configuration du plugin permet aussi de préciser votre identifiant ou votre class, laissez le à .accordeon soit sa valeur par défaut si vous ne comprenez pas !

Le panneau de configuration est accessible via :

  • Configuration->Accordéon sous SPIP 2.1.
  • Squelettes->Menu JQuery Accordéon sous SPIP 3 ou SPIP 2.1 avec le plugin bandeau

Verrouillage de la configuration

Depuis la version 3.2, un webmestre peut verrouiller la configuration du plugin en créant dans son dossier squelettes :
-  un fichier accordeon/identifiant.html contenant l’identifiant du menu et remplaçant le champ « identifiant » du formulaire de configuration.
-  un fichier accordeon/options.html contenant les options du menu (sans les {}, et remplaçant le champ « options » du formulaire de configuration.

Exemple d’option simple

Il s’agit de demander au menu accordéon de s’ouvrir sur la rubrique courante.

Dans le panneau de configuration, on met

active:'.on a'

En effet, le plugin Menu marque d’une class .on la rubrique courante.

Exemple d’options complexe

Dans cette illustration, le code demande à déplier en accordéon le menu qui a l’identifiant #listmenu, il s’applique ici sur un menu fermé de rubriques à 2 niveaux qui se dépliera d’un clic, tandis qu’on accède aux liens de premier niveau par un double-clic. Lorsque la rubrique parente est active, le menu est ouvert sur celle-ci. D’autre part autoHeight: false, permet de laisser le plugin calculer la hauteur à déplier, évitant de grands blancs si vous n’avez un nombre de sous-rubriques égales…

Voici un exemple de ce code particulier à coller dans les options de la configuration, sans ajout de parenthèses ou d’accolades.

event: 'click', 
collapsible:true, // to close all
header: 'a.hac',
active: 'a.hac.on', 
autoHeight: false,
navigation: true,
navigationFilter: function(){ 
	$('#listmenu a.hac').dblclick(function(){
	lien=$(this).attr('href');
	document.location = lien;
	return true;
	});
}

Discussion

22 discussions

  • 11
    christianD.

    Bonjour,

    Je suis sous Spip 3.0.4 et j’ai tout sauf :

    1. comme 19Marine91, j’ai le petit triangle sur le titre des rubriques que je n’arrive pas à enlever malgré mes 4heures de tentative. Comment enlever ce triangle ?

    2. l’autre souci est que les rubriques se mettent en ligne, les unes derrière les autres. Il y a bien l’effet accordéon mais ce serait encore mieux si les rubriques étaient l’une au-dessus de l’autre. Là-aussi, je ne trouve pas où modifier le css pour disposer les rubriques sous forme de liste, les unes au dessus des autres.

    Merci d’avance.

    • Bonjour, désolé je n’ai pas eu le temps de me pencher sur les modifications de l’accordéon sous SPIP 3 avec la nouvelle version de jqueryUI.

      la solution pour le triangle (et j’ai mis du temps à trouver) est de mettre une option dans le formulaire de configuration du plugin (disponible dans la rubrique squelette) :

      icons:false

      Si vous avez d’autres réglages, les séparer par des virgule. Faite ensuite un recalcul des caches, notamment du cache js, et vider le cache du nav. Cela devrait normalement faire l’affaire.

      Dans vos css perso, ajoutez aussi

      .accordeon.ui-accordion li.ui-accordion-li-fix{
          display:block;   
      }

      Je ne sais pas encore si je vais modifier le plugin pour installer ces réglages par défaut ou bien changer la doc. Il faut que je reflechisse à ce qui est le plus pertinent.

      Ps : utilisez vous un outils style firebug ? cela vous aurez aider à trouver le style défaillant.

    • la version du plugin qui sortira cette nuit à 1h du matin devrait faire cela tout seul. Attention, pas de changement de numéro de version, mais passage de l’état « dev » à test.

    • ChristianD.

      Bonjour Maïeul,

      C’est la bonne surprise du matin et je teste tout de suite. Je vous tiens au courant. J’utilise effectivement Firebug, ça aide énormément :-).

    • ChristianD.

      Comme les autres fois, impec et ça marche super bien ! Un grand merci Maïeul.

    • ChristianD.

      Une dernière chose.

      Je n’arrive pas à changer la div a de li.menu-entree.item. Je voudrais mettre color : #666566 ; text-decoration : none ; mais ça ne me le prend pas malgré tous mes essais... un peu partout.

    • bon, ok. je modifie la doc en conséquence, et je regarde après votre problème de li.

    • ChristianD.

      « What a wonderful world » ! Merci.

    • vous être sur de votre classe ? il y a pas de li.menu-entree.item avec le plugin menu sous SPIP 3....

    • ChristianD.

      En fait, c’est ce que je vois avec Firebug et je ne comprends pas pourquoi Spip ne corrige pas la couleur, au moins, puisque cette instruction semble être prise en compte.

      Je vous joins la copie écran de Firebug.

    • a ! c’est pas avec le plugin menu que vous l’utilisez, mais avec les menu lateral standard de SPIP. Ok.

      Votre problème de couleur vient que vous avez un lien dans votre li. C’est donc (si je ne m’abuse) le a qu’il faut styler (et le pb n’est pas lié à SPIP, mais au CSS)

    • ChristianD.

      Ok, je regarde ça.

    Répondre à ce message

  • 10
    19marine91

    Bonjour,

    Cet un plugin super c’est vrai. Un moment je bloquais et ça s’est débloqué je sais pas comment^^
    Bref, j’aimerais qu’il , affiche même les rubriques sans articles (car les rubriques peuvent contenir du texte sans articles).
    En affichant simplement le menu avec inc-menu_rubrique, il suffisait de rajouter tout, là je sais pas, il me le fait pour l’un d’entre eux seulement. Savez quoi faire ?

    Cordialement

    • bonjour, désolé, je n’ai rien compris.

      Pouvez vous expliquer comment est construit votre menu. Avec des squelettes perso ? avec le plugin menus ?

    • 19marine91

      Bonjour,

      Désolée pour la réponse tardive, je m’étais penché sur un autre problème. Merci à vous pour votre rapidité.

      J’ai construit le menu à l’aide du plugin menus comme indiqué. Ensuite intégré dans un squelette perso.

      J’ai plusieurs rubriques. Certains ont des articles, d’autres non. Celles qui n’ont pas d’articles possède tout de même du contenu.
      Mon menu affiche sans problème les rubriques possédant des articles. Mais il n’affiche que certaines rubriques n’ayant aucun articles et n’affiche pas l’accueil.

      J’espère m’être exprimé plus clairement.

      En vous remerciant
      Cordialement

    • Bonjour,

      en ce cas le problème ne vient pas de menu accordéon, mais du plugin menus. Il faudrait demander de l’aide dans le forum de ce plugin.

      cordialement

    • 19marine91

      J’ai résolu certains problème, finalement j’ai un affichage illisible et surtout un-cliquable (je sais pas si ça se dit. J’ai joins une image.

    • là, comme cela je ne peux pas vous aider. Je n’ai ni l’adresse du site, ni des informations sur les css que vous utilisez …

    • 19marine91

      Je n’ai pas encore changer le CSS
      Concernant l’adresse, elle n’a pas public... le site est en travaux, je ne peux présenter un site sans menu.
      C’est possible de MP pour détails privé ?
      En tout cas l’effet accordéon n’est pas là... quand tout le jquery ne chargeait pas, c’était plus ergonomique

    • 19marine91

      en bidouillant le CSS j’ai le menu qui va à la ligne (voir image) mais le clic ne charge aucune page (la mini-flèche se pli et dépli) et ne fait pas apparaitre de déroulement.

      Ce n’est pas un problème de js ça ?

    • quelle version de SPIP ?

    • la version qui sort cette nuit devrait normalement résoudre tout ce sproblèmes, pour mettre des styles standard plus correct.

      attention : pas de changement de numéro de version, mais simplement passage à l’état test.

    Répondre à ce message

  • 1
    MarjorieV

    Bonjour,

    Je viens de de transférer mon site sur un autre hébergeur. J’ai bien fais une sauvegarde de la base. Sur le nouveau hébergeur, mon site fonctionne hors, les plugings que j’ai installé (menu, menu accordeon 2) sont activés mais ne sont pas pris en compte dans mes pages de mon site.
    Quelqu’un aurait une réponse ?

    merci beaucoup !

    Répondre à ce message

  • 2

    le contexte : Je suis sous spip 3

    Je m’escrime avec le plugin accordéon depuis deux jours :
    Pourquoi, si j’ai fait fonctionné, sans problème, un autre plugin de menu, utilisant jQuery et s’appuyant sur le plugin « Menu » (le plugin « Menu jQuery Superfish »),
    je n’y suis pas arrivé avec le plugin « Menu accordéon 2 » ?

    une chose m’étonne :
    -  parmi les sous-dossier du plugin « Menu jQuery Superfish », il y a un sous-dossier « css » qui contient 3 feuilles de styles css (superfish.css, superfish-navbar.css et superfish-vertical.css).
    -  je ne vois rien d’équivalent dans le dossier du plugin « Menu accordéon 2 ».
    -  Quelle est la différence de fonctionnement entre ces 2 plugins qui fait que dans un cas il y a des feuilles de style css et dans l’autre non ?

    Merci d’avance.

    • Il n’y a pas de CSS car nous laisson la maitrise des css au webmestre. Le menu accordéon est juste là pour le jquery.

      Pour le fonctionnement sous SPIp 3, étant donné que vous ne donnez ni la méthode que vous avez suivi ni les problèmes que vous avez rencontré, j’aurais du mal à vous aider.

    • Comme dit Maïeul, le plugin s’appuie sur un autre plugin, jquery_ui, intégré au core en spip3. Et c’est ce dernier qui charge les js (et éventuellement les css les spip2, en spip3, je ne sais pas)... Mais tu peux très bien, récupérer les css et images d’un thème « tout fait » sur le site de jquery_ui et le mettre dans tes squelettes persos... Bref c’est moins immédiat que superFish, mais plus malléable au final...

    Répondre à ce message

  • 19
    korama

    oui oui, j’ai bien fais un menu avec le plugin menu, j’ai mis la classe accordeon, j’ai bien vérifié que le JQuery UI etait installé... et rien.

    • bizarre,

      pourriez vous m’envoyer par mail votre code ?

    • Christophe

      Bonjour,
      Moi aussi, même problème : le plugin accordéon ne change rien : liste cliquable rubriques et articles...
      Installé sur la dist :

      <INCLURE{fond=inclure/menu, env, identifiant=accordeon}>

      ou

      #INCLURE{fond=inclure/menu, env, identifiant=accordeon}

      Plugin JQuery UI et plugin menu installés
      Merci d’avance

    • auriez vous un site où je pourrais regarder tout cela ?

    • Christophe

      Bonjour,

      C’est en local... j’ai l’impression que le jquery n’est pas détecté...
      ...
      Je vais essayer de mettre en ligne quelque part...

    • Même problème que mes collègues ! Rien ne s’affiche...

    • même réponse qu’à vos collègues …

      chez moi ca marche, donc en l’absence de site de démo, dur d’aider :-)

    • Au temps pour moi... Tout marche parfaitement, il ne me reste plus qu’à le customiser :)

    • peut tu dire ce qui n’allait pas ? ca peut servir aux collègue ;-)

    • J’avais juste pas pris la bonne option d’affichage avec le plug Menu (Rubriques et non articles de rubrique).
      En revanche, je n’arrive pas à trouver la feuille de style qui donne l’apparence actuelle à ce menu (fond gris dégradé et flèche active...), ça me dépannerait bien de savoir :)

    • lib/jquery-ui-1.8.9/themes/basejquery.ui.accordion.css

      à noter que jquery propose de fabriquer facilement son thème : http://jqueryui.com/themeroller/

      n’oublie pas d’utiliser le mécanisme de surcharge de spip.

    • Bonjour,

      le plugin est extra ! J’ai quelques questions toutefois d’ordre pratique :) Je constate que lorsque mon event est « click » l’accès aux articles en racine (niveau 0 du menu) ne sont pas accessibles tandis qu’en « mouseover » je n’ai pas de soucis... Où corriger ce bug ?

      Je tente de trier selon mon bon vouloir les articles et sous-rubriques du niveau 0 du menu appartenant tous à la rubrique n°11... Possible ?

      Merci pour vos réponse :)

    • pour le second point il faut numéroté les article et sous rubrique sous la forme XXX. Tittre, puis activer la suppression du numéro avec le couteau kiss (de préférence ne pas prendre le couteau suisse) ou avec le fichier mes_options.php minimal (http://geekographie.maieul.net/Un-fichier-mes_options-minimal).

      Pour le premier point, la raison est simple : le clique enclenche le basculement sur l’entrée réeel. Mais sur ce site http://www.planete-sciences.org/astro/ je n’ai pas ce problème avec le réglage suivant :

      autoHeight:false, event: 'click',active:'.on span'

      .

      Vérifiez les caches.

    • Bonjour,

      comment avez vous fait pour intégrer la classe .on en fonction de la rubrique ouverte ? Utilisez-vous #GET ? J’y arrive en PHP mais je ne suis pas très sûre avec le langage SPIP...

      Merci pour votre réponse.

    • normalement le plugin menus intégre directement cela dans ses fonctions. Pouvez vous donner un exemple de code ?

    • Voila mon code

      <BOUCLE_appel(CONDITION){si #ENV{appel_menu}|oui}>
      	
      	<B_rubriques>
      	<BOUCLE_rubriques(RUBRIQUES){id_parent=#GET{id_rubrique}} {par num titre}>
      	<BOUCLE_articles(ARTICLES){id_rubrique=#ID_PARENT}{id_article!=27}{par num titre}{titre<#TITRE*}{doublons avant}>
      		<li class="menu-rub2 item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]">
                      <a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
                       
      		 </BOUCLE_articles>
      		#SET{niveau_actuel,#EVAL{1}|intval}
      		<li class="menu-rub2 item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})]">
      			<a href="#URL_RUBRIQUE" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
      			[(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]
      		</li>
      		
      	</BOUCLE_rubriques>
      	
                      <BOUCLE_articles_apres(ARTICLES){id_rubrique}{par num titre}{doublons avant}>
              <li class=" menu-rub item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]"><a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
      </BOUCLE_articles_apres>
      	     
      </BOUCLE_appel>
    • ce code, vous l’appeler directement où c’est un code du plugin menu ? je ne comprend pas pourquoi vous ne passez pas par le plugin menu, comme indiqué dans la documentation

    • C’est bien le plugin menu sauf que j’ai modifié le code interne pour appeler les rubriques et les articles afin de les classer comme je le souhaitais.

    • hum,

      vous faites ce que vous voulez hein ! mais faites bien attention à bien surchargez le code et non pas à modifier directement les fichiers.

      Normalement le filtre menu_exposer se charge de cela, à priori. Sinon regarder du coté du filtre exposer (dans la documentation de spip)

    • Ah non j’ai été trop vite, le code est plutôt :

      [(#SET{id_rubrique, #ENV{id_rubrique}|intval})]
      [(#SET{id_secteur_exclus, #ENV{id_secteur_exclus,0}|intval})]
      [(#SET{niveau_max_txt, #ENV{niveau}|intval|?{#ENV{niveau},infini}})]
      [(#SET{niveau_max, #ENV{niveau}|intval|?{#ENV{niveau},1000}})]
      [(#SET{sousrub_cond, #ENV{sousrub_cond}|=={oui}|?{'on',''}})]
      [(#SET{afficher_articles, #ENV{afficher_articles}|=={oui}|?{'on',''}})]
      [(#SET{masquer_articles_uniques, #ENV{masquer_articles_uniques}|=={oui}|?{'on',''}})]
      [(#SET{articles_max, #ENV{articles_max}|intval|?{#ENV{articles_max},10000}})]
      [(#SET{articles_max_plus_un, #GET{articles_max}|plus{1}})]
      
      [(#SET{articles_max_affiches, #ENV{articles_max_affiches}|intval|?{#ENV{articles_max_affiches},10000}})]
      
      [(#SET{id_rubriques_exclues, #ENV{id_rubriques_exclues}|explode{','}|sinon{#ARRAY}})]
      
      [(#SET{tri_num, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_num},'titre'}})]
      [(#SET{tri_alpha, #ENV{tri_num}|ou{#ENV{tri_alpha}}|?{#ENV{tri_alpha},'titre'}})]
      [(#ENV{appel_formulaire}|oui)
      	[(#SET{titre, #GET{id_rubrique}|?{#INFO_TITRE{rubrique, #GET{id_rubrique}}, <:info_racine_site:>}})]
      	[(#ENV{secteurlangue}non)<div class="titre">#GET{titre}</div>]
      	[(#ENV{secteurlangue}oui)<div class="titre"><:menus:nom_menu_secteurlangue:></div>]
      	<div class="infos">
      		[(#GET{niveau_max_txt}|=={infini}|non)
      			<:menus:entree_sur_n_niveaux{n=#GET{niveau_max_txt}}:>
      		]
      		[(#GET{niveau_max_txt}|=={infini}|oui)
      			<:menus:entree_infini:>
      		]
      		[(#GET{id_secteur_exclus}|=={0}|non)
      			<:menus:info_secteur_exclus{id_secteur=#GET{id_secteur_exclus}}:>
      		]
      		[(#GET{sousrub_cond}|oui)
      			<br /><:menus:info_sousrub_cond:>
      		]
      		[(#GET{afficher_articles}|oui)
      			<br /><:menus:info_afficher_articles:>
                  [(#GET{articles_max}|<{10000}|oui) / <:menus:info_articles_max{max=#GET{articles_max}}:>]
                  [(#GET{articles_max_affiches}|<{10000}|oui) / <:menus:info_articles_max_affiches{max=#GET{articles_max_affiches}}:>]
                  [(#GET{masquer_articles_uniques}|oui) / <:menus:info_masquer_articles_uniques:>]
      		]
      		<br /><:menus:info_tri:> [(#GET{tri_num}) <:menus:info_tri_num:>][(#GET{tri_num}|et{GET{tri_alpha}}), ][(#GET{tri_alpha}) <:menus:info_tri_alpha:>]
      	</div>
      ]
      <BOUCLE_appel(CONDITION){si #ENV{appel_menu}|oui}>
      	
      	<B_rubriques>
      	<BOUCLE_rubriques(RUBRIQUES){id_parent=#GET{id_rubrique}} {par num titre}>
      	<BOUCLE_articles(ARTICLES){id_rubrique=#ID_PARENT}{id_article!=27}{par num titre}{titre<#TITRE*}{doublons avant}>
      		<li class="menu-rub item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]">
                      <a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
                       
      		 </BOUCLE_articles>
      		#SET{niveau_actuel,#EVAL{1}|intval}
      		<li class="menu-rub item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})]">
      			<a href="#" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
      			[(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]
      			
      			
      			<BOUCLE_test_niveau(CONDITION){si #GET{cond}}>
      				<B_sous_rubriques>
                      <ul class="menu-liste menu-items">
                          <BOUCLE_sous_rubriques(RUBRIQUES){id_parent}{par num #GET{tri_num}}{par #GET{tri_alpha}}>
                              #SET{niveau_actuel,#GET{niveau_actuel}|plus{1}}
                              <li class="menu-articles  item[ (#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}})]"">
                                  <a href="#URL_RUBRIQUE" title="[(#TITRE|attribut_html)]">- #TITRE</a>
                                  [(#SET{cond,#GET{niveau_max}|>{#GET{niveau_actuel}}|et{#GET{sousrub_cond}|?{#ID_RUBRIQUE|menus_exposer{rubrique,#ENV*{env}},'on'}}})]
                                  <BOUCLE_test_niveau2(CONDITION){si #GET{cond}}>
                                  <BOUCLE_sous_sous(BOUCLE_sous_rubriques)></BOUCLE_sous_sous>
                                  </BOUCLE_test_niveau2>
                              </li>
                          </BOUCLE_sous_rubriques>
      
      					[(#REM) ------------------------------------------------
                                  Premier cas de gestion de l'affichage des articles 
                          		Ce code est dupliquÈ dans le 2e cas, voir ci dessous (a un ul pres)
                                  Il n'est pas possible en spip 2 d'utiliser inclure pour eviter la duplication
                                  Cf http://comments.gmane.org/gmane.comp.web.spip.devel/60475
                                  Ce doit etre le meme soucis qui fait que #URL_RUBRIQUE est trasnforme en
                                  spip.php?page=rubrique&id_rubrique=2&connect=condition qu'on enleve avec le filtre parametre_url ]
      
                          <BOUCLE_test_articles_si_sousrub(CONDITION){si #GET{afficher_articles}}>
                          	[(#REM) On commence par compter le nombre d'articles de la rubrique]
                              #SET{cpt,0}
                              <BOUCLE_cpt_si_sousrub(ARTICLES){id_rubrique}> </BOUCLE_cpt_si_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_si_sousrub>
                      
                          	[(#REM) On affiche les articles :
                                       - S'il y en a moins que le max demandÈ 
                                       - ET - si on n'a pas demandÈ de masquage des articles uniques
                                       	  - OU si le masquage des articles uniques est demandÈ et qu'il y en a plus d'un ]
                              #SET{afficher,non}
                              [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}}) 		
                              	#SET{afficher,oui}]
      
                              <BOUCLE_test_afficher_si_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
                                  <B_articles_si_sousrub>
                                  <BOUCLE_articles_si_sousrub(ARTICLES){id_rubrique}{par num #GET{tri_num}}{par #GET{tri_alpha}}{0,#GET{articles_max_affiches}}>
                                      <li class="menu-articles item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]"">
                                          <a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">- #TITRE</a>
                                      </li>
                                  </BOUCLE_articles_si_sousrub>
                                  [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
                                  	<li><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>	
                                  ]
                                  </B_articles_si_sousrub>
                              </BOUCLE_test_afficher_si_sousrub>
                           </BOUCLE_test_articles_si_sousrub>
                          [(#REM) --------------------------- Fin Premier cas ]
                      </ul>
                      </B_sous_rubriques>
      
      					[(#REM) ---------------------------------- 
                                  Second cas de gestion de l'affichage des articles ]
                          <BOUCLE_test_articles_pas_de_sousrub(CONDITION){si #GET{afficher_articles}}>
                          	[(#REM) On commence par compter le nombre d'articles de la rubrique]
                              <BOUCLE_cpt_pas_de_sousrub(ARTICLES){id_rubrique}> </BOUCLE_cpt_pas_de_sousrub>#SET{cpt,#TOTAL_BOUCLE}</B_cpt_pas_de_sousrub>
                      
                          	[(#REM) On affiche les articles :
                                       - S'il y en a moins que le max demandÈ 
                                       - ET - si on n'a pas demandÈ de masquage des articles uniques
                                       	  - OU si le masquage des articles uniques est demandÈ et qu'il y en a plus d'un ]
                              #SET{afficher,non}
                              [(#GET{cpt}|<={#GET{articles_max}}|oui|et{#GET{cpt}|>{1}|ou{#GET{masquer_articles_uniques}|=={'on'}|non}}) 		
                              	#SET{afficher,oui}]
      
                              <BOUCLE_test_afficher_pas_de_sousrub(CONDITION){si #GET{afficher}|=={oui}|oui}>
                                  <B_articles_pas_de_sousrub>
                                  <ul class="menu-liste menu-items">
                                  <BOUCLE_articles_pas_de_sousrub(ARTICLES){id_rubrique}{par num #GET{tri_num}}{par #GET{tri_alpha}}{0,#GET{articles_max_affiches}}>
                                      <li class="menu-articles item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]">
                                          <a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">- #TITRE</a>
                                      </li>
                                  </BOUCLE_articles_pas_de_sousrub>
                                  [(#GET{cpt}|>{#GET{articles_max_affiches}}|oui)
                                  	<li><a class="suite" href="[(#URL_RUBRIQUE|parametre_url{connect,''})]"><:menus:tous_les_articles:></a></li>	
                                  ]
                                  </ul>
                                  </B_articles_pas_de_sousrub>
                              </BOUCLE_test_afficher_pas_de_sousrub>
                           </BOUCLE_test_articles_pas_de_sousrub>
                          [(#REM) --------------------------- Fin Second cas ]
      
                      <//B_sous_rubriques>
      			</BOUCLE_test_niveau>
      		</li>
      		
      	
      	</BOUCLE_rubriques>
      	
                      <BOUCLE_articles_apres(ARTICLES){id_rubrique}{par num titre}{doublons avant}>
              <li class="menu-rub item[ (#ID_ARTICLE|menus_exposer{rubrique,#ENV*{env}})]"><a href="#URL_ARTICLE" title="[(#TITRE|attribut_html)]">[(#TITRE|supprimer_numero)]</a>
      </BOUCLE_articles_apres>
      	
      	   
      	
                      
      	
      </BOUCLE_appel>

    Répondre à ce message

  • 1

    Bonjour à tous,
    J’ai un problème de compatibilité de plugin, sur SPIP 2.0.10, le plugin (il s’agit là de la première version) ne fonctionne pas en même temps que le plugin sjcycle (première version également).
    Je suppose qu’il s’agit d’un problème de version de Jquery... Quelqu’un a-t-il une idée plus précise du problème ??
    Merci d’avance.

    • quel est la nature du non fonctionnement ? un message d’erreur ?

      a priori le plugin est prévu pour fonctionner sur 2.1, pas sur 2.0

    Répondre à ce message

  • 1

    Bonjour et merci pour ce plugin.

    Je ne l’utilise pas pour faire un menu mais pour avoir une gestion de l’accordéon de jQueryUI dans les articles.
    Je colle donc mon code dans le champ texte d’un article :

    <div class="accordeon">
    	<h3><a href="#">Section 1</a></h3>
    	<div>
    		<p>
    		Lorem ipsum.
    		</p>
    	</div>
    	<h3><a href="#">Section 2</a></h3>
    	<div>
    		<p>
    		Lorem ipsum.
    		</p>
    	</div>
    </div>

    Ensuite, c’est très étrange : l’affichage se passe très bien si je mets ma boucle sur la page d’accueil du site, mais dans les pages « articles » l’animation ne fonctionne pas. J’ai beau retourner le problème je ne trouve pas de raison à ça.
    Auriez vous une idée ?

    Merci !

    • Bon en fait c’est résolu. J’avais un petit conflit avec un autre script jquery...

    Répondre à ce message

  • 1
    korama

    Bonjour,

    je développe en local un site sur lequel je voulais installer le plugin accordeon. Mais une fois activé, il ne fonctionne pas. C’est à dire que je n’ai aucune mise en forme « accordeon » mais simplement une liste basique... j’ai raté une étape ?

    Merci

    • avez vosu bien créé le menu avce le plugins menus ? avez vous bien mis la classe css « accordeon »

    Répondre à ce message

  • sofymily

    Merci pour votre rapidité, je vais regarder ça !

    Répondre à ce message

  • 3

    Bonjour,

    Je ne suis pas une pro mais ne demande qu’à comprendre et à essayer. J’ai installé spip il y a 3/4 jours.
    J’ai téléchargé le plugin accordeon et tout fonctionne.
    Mais j’aimerai qu’en cliquant sur les titres de mes articles, par exemple, le texte y correspondant apparaisse. Et là, je ne sais pas ce que je dois faire.
    J’ai exactement procédé de la même manière qu’indiquer ci-dessus, j’ai fait plusieurs essais avec différentes entrées au menu correspondant et seuls les titres des sous-rubriques ou les titres d’articles apparaissent.
    J’avais pensé retravailler le squelette du menu mais j’ai également 2 autres menus dans la page...
    Peut-être ne suis-je pas très claire mais voici à peu près l’effet que j’aimerai avoir :
    http://www.modeaparis.com/
    Ce site est vraiment top !

    Merci d’avance

    • je pense qu’à ce niveau il vaudrait mieux pour vous que vous fabriquiez vous même un squelette.

      Votre problème n’est plus celui d’un menu (de navigation), et donc ce plugin ne vous sera pas utile.

      quel est votre niveau de connaissance en html ? pour savoir comment je peux vous conseillez.

    • sofymily

      Bonjour et merci de votre réponse, je me débrouille pas trop mal en html. Mais je ne vois pas du tout comment m’y prendre... comment réaliser cet effet ? J’imagine avec javascript mais c’est là où mes connaissances me lâchent. Je ne sais pas comment intégrer correctement...

    • il faudrait que vous utiliser le plugin JqueryUI de SPIP qui vous permettra d’intégrer le script accordieon de JQuery.

      Ensuite pour l’utilisation de ce script, allez ici : vous aurez une explication et des exemples http://jqueryui.com/demos/accordion/

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom