SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 110 visiteurs en ce moment

Accueil > Navigation > Gérer les menus > Menus

Menus

18 août 2009 – par RastaPopoulos – 1002 commentaires

141 votes

Créez enfin vos menus facilement !

Introduction

Lorsqu’on ne se sert pas du plugin ’Menus’, on est obligé de définir tous ses menus dans les squelettes, ce qui fait que les administrateurs du site n’ont pas directement la main dessus, que lorsqu’ils veulent y changer quelque chose, ils sont obligés d’en faire la demande à la personne en charge des squelettes.

De plus, lorsqu’on veut des liens statiques (un lien vers un article précis, ou vers une page précise, ou vers un site externe) il faut les écrire en dur dans le squelette du menu.

Le but du plugin ’Menus’ est donc de permettre de facilement élaborer des menus au moyen d’une interface conviviale, directement dans la partie privée.

Attention ! Ce plugin ne s’occupe pas de la manière dont seront affichés les menus. Il permet de les créer facilement et d’en générer le HTML.

Pour l’affichage, voyez avec votre thème ou des plugins spécifiques tels que Menu animé déroulant, Menu Déroulant 2, Menu Accordéon 2 ou Menu jQuery Superfish.

Installation

Version 0.9.4
Version 1.6.13

Télécharger le paquet ZIP du plugin et placer son contenu dans votre répertoire "plugins/". Activez-le ensuite dans la page de gestion des plugins.

Vous devez aussi avoir le plugin SPIP Bonux déjà installé.

Création d’un menu

Le plugin ajoute un lien dans le bandeau de SPIP :

La page liste tous vos menus, et vous propose d’en créer un nouveau :

D’abord vous devez identifier votre menu. Il faut lui donner un titre, ainsi qu’un mot-clé qui vous permettra de l’appeler facilement. En effet, vous ne pouvez pas prévoir à l’avance dans vos squelettes le numéro du menu. Grâce à ce mot-clé identifiant, vous n’avez donc pas à modifier vos squelettes à chaque fois. Vous pouvez également saisir une classe qui sera ajoutée au premier élément ul du menu généré. Ceci peut permettre d’activer la gestion de l’affichage par un plugin tiers.

Vous pouvez alors commencer à construire le menu en ajoutant des entrées :

Les différents types d’entrées

Les Menus sont fournis pour l’instant avec plus de dix types d’entrées qui permettent déjà de construire la plupart des menus facilement.

N’hésitez pas à en proposer d’autres !

Voici la description de quelques uns des types d’entrées disponibles :

-  Lien arbitraire : vous pouvez créer des liens vers ce que vous voulez en donnant une adresse et un titre.

-  Objet de SPIP : crée un lien vers n’importe quel objet éditorial de SPIP. Ça peut être un article, une rubrique ou n’importe quoi venant d’un plugin.

-  Liste dynamique de rubriques et d’articles : vous pouvez afficher les rubriques de SPIP, y compris de manière arborescente. Pour cela, il suffit de définir la rubrique dans laquelle il faut commencer la liste, le niveau maximum de sous-rubriques, les exclusions éventuelles, le type de tri... Vous pouvez aussi inclure les articles dans l’arborescence, limiter leur nombre, en gérer le tri...

Modification des entrées

Lorsque vous avez déjà ajouté des choses, vous obtenez alors la liste des entrées sous cette forme :

Vous pouvez alors déplacer les entrées pour modifier leur ordre, les supprimer, changer leurs paramètres et créer des sous-menus en-dessous des entrées qui le permettent.

Utiliser les menus dans votre site

Pour afficher un menu dans votre site, il vous suffit d’inclure un petit squelette où vous le désirez :

  1. #INCLURE{fond=inclure/menu, env, identifiant=<votre_menu>}

Vous pouvez aussi tester votre menu facilement en cliquant sur le bouton « Voir en ligne » ou en allant sur la page : spip.php?menu<numero>

Exporter les menus vers un autre site

Imaginons que sur une version de votre site en local vous réorganisez tous les menus. Pour reporter ces changements en prod, il faut exporter les menus dans un fichier et les réimporter en prod.

S’assurer tout d’abord que le plugin Yaml est activé .

Lorsqu’il est activé une icône apparaît : exporter ce menu

Le sauvegarder sur votre ordinateur

Sur le site de destination, il suffit de créer un nouveau menu avec le même identifiant ( penser à le supprimer avant s’il existe). Et à la création, si le plugin YAML est bien activé, la boite de choix de fichier est proposée.

Surcharge des fichiers menus/<type>.html

Si pour des besoins particuliers, on doit surcharger un fichier du répertoire menus/, il ne faut pas oublier de copier le fichier XML de description qui va avec.

En effet, le plugin cherche le fichier XML au même endroit que le fichier HTML.

Voir en ligne : https://plugins.spip.net/menus

Dernière modification de cette page le 9 novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 10 juin à 20:20, par Fennec72 En réponse à : Menus

    Bonsoir,

    Que doit-on mettre dans une boucle Spip pour récupérer la « Classes CSS de l’entrée » ?

    Merci d’avance,

    Cordialement,

    Hervé

    • Le 11 juin à 13:16, par Fennec72 En réponse à : Menus

      Bonjour,

      Je complète ma question :

      Il y a-t-il un « mode d’emploi » pour prendre un menu JQuery et l’adapter pour qu’il fonctionne avec un menu créé avec le plugin Menus ?

      Merci d’avance,

      Cordialement,

      Hervé

    • Le 11 juin à 13:54, par RastaPopoulos En réponse à : Menus

      C’est plutôt au niveau javascript, au niveau des options de la lib utilisé, ou de ce qu’elle attend en entrée, qu’il faut voir. Le plugin lui ne fait que générer du HTML sémantique, bien structuré et avec une structure et des classes qui permettent largement de sélectionner ce qu’on veut ensuite en CSS et JS.

    Répondre à ce message

  • Le 28 novembre 2017 à 08:21, par Pascal En réponse à : Menus

    Bonjour,
    Depuis les dernières mises à jour et avec SPIP 3.1 et SPIP-R je ne peux plus éditer les menus...
    Si j’essaie de créer une nouvelle entrée j’obtiens un menu partiel comme dans la capture d’écran ci-dessous.
    Merci de votre aide.

    • Le 28 novembre 2017 à 10:44, par Maïeul En réponse à : Menus

      a tout hasard, as tu essayé de vider le cache ?

      si cela ne marche pas, il peut y avoir plein de raison différente à ce problème d’affichage. Il faudrait activer le debugage php pour savoir.

    • Le 29 novembre 2017 à 06:03, par Pascal En réponse à : Menus

      Merci de votre réponse.
      J’ai vidé les caches (avec un client ftp, tmp et local). J’ai désinstallé et réinstallé le plugin... , sans modifier ce comportement.
      Je vais essayer de suivre votre conseil et activer le débugage PHP

    • Le 30 mai à 16:11, par Florence HENRY En réponse à : Menus

      Bonjour

      Je viens d’avoir le même problème. J’ai renommé mon répertoire squelettes en squelettes.old et tout est revenu. Il doit donc y avoir une surcharge dans ton répertoire squelettes qui empêche le bon fonctionnement du plugin

    Répondre à ce message

  • Le 27 mai à 02:09, par Jacobs En réponse à : Menus

    Mon header se trouve en pièce jointe
    Merci pour votre assistance

    Répondre à ce message

  • Le 16 mai à 20:03, par Fennec72 En réponse à : Menus

    Bonsoir,

    Serait-il imaginable d’avoir 2 classes CSS dans le formulaire de configuration du plugin Menu ? :
    Une pour le menu desktop et une pour le menu mobile (menu hamburger)

    Avec, éventuellement, une case pour définir le seuil en pixels (media query) pour la bascule entre les 2 CSS.

    Merci d’avance,

    Cordialement,

    Hervé

    • Le 17 mai à 00:10, par RastaPopoulos En réponse à : Menus

      Nope ce n’est pas prévu et ce plugin n’a absolument pas pour vocation de s’occuper de l’affichage et ne le fera jamais. Ça ne fait que générer le bon HTML à peu près bien sémantique et avec les classes permettant de cibler les divers éléments pour pouvoir faire ce qu’on veut en CSS ou Javascript ensuite. C’est à ton thème graphique de faire ce qu’il faut pour cibler et afficher ou masquer des choses suivant les cas, ya pas besoin d’ajouter des classes pour ça, et si t’as besoin d’ajouter des choses, ça peut encore se rajouter en JS (mais bof, très rare, dans l’immense majorité des cas ya pas besoin).

    • Le 17 mai à 09:22, par Fennec72 En réponse à : Menus

      J’étais quasiment sûr qu’effectivement ce n’était pas envisageable, mais j’ai posé la question pour être sûr.

      Merci d’avoir clarifié les choses.

    Répondre à ce message

  • Le 6 février à 14:38, par Fanchlerouge En réponse à : Menus

    Bonjour,

    J’ai un soucis avec menus. Tout fonctionnais bien jusqu’à ce que j’installe le thème dist_theme_waz, il y a environ 2 ans. Même avec spipr le problème persiste, si je désactive less_css et tous les plugins qui vont avec, le menu s’affiche correctement.
    Maintenant, j’utilise squelette_dist auquel j’ai juste ajouté en perso.css les datas css de dist_theme_waz.

    Le site est visible ici. Du coup, je l’ai laissé un peu à l’abandon, mais il va revivre.

    Auriez-vous une idée pour m’aidez à résoudre mon problème ?

    Bien cordialement

    Fanch

    • Le 6 février à 14:43, par RastaPopoulos En réponse à : Menus

      Je ne vois aucun soucis, on peut cliquer sur les entrées et ça amène aux bonnes pages.

      Par ailleurs le plugin Menus ne gère RIEN (mais rien de rien) ayant rapport avec de l’affichage. Ça ne fait que générer les listes HTML avec les bons liens, dans un HTML accessibles et avec les classes utiles pour sélectionner ce qu’on veut. Après ce sont les thèmes qui stylent comme ci ou comme ça, avec leur CSS et/ou JS. Mais donc sans rapport avec le plugin Menus. À voir avec les gens qui ont fait le code de ton thème donc (ou toi si c’est toi).

    • Le 6 février à 15:54, par Fanchlerouge En réponse à : Menus

      Merci pour cette réponse, il est couplé avec menu animé, la classe menu_anime. Et rien ne s’affiche ? Comprends pas.

    • Le 6 février à 15:58, par Maïeul En réponse à : Menus

      @Fanchelerouge : il faudrait dans ce cas que tu demande de l’aide sur le forum du plugin « menu animé ».

    • Le 6 février à 22:04, par Fanchlerouge En réponse à : Menus

      Merci beaucoup.

      Je vais poster sur ce forum

    • Le 7 février à 00:11, par Fanchlerouge En réponse à : Menus

      Bonsoir, problème résolu en mettant ceci
      #INCLUREfond=inclure/menu, env, identifiant=barrenav
      à l’emplacement du menu dans le squelette

    Répondre à ce message

  • Le 23 novembre 2017 à 17:57, par HerveB En réponse à : Menus

    Bonjour et merci pour ce plugin que j’utilise souvent.

    Sur une installation 3.2.0, lors de la création d’un menu, l’entrée « Liste ou arborescence de rubriques », semble ne pas prendre en compte l’option facultative de « Classe des liens des éléments parents. »

    J’ai bien un menu à plusieurs niveaux , je renseigne ce champ optionnel, mais il ne se répercute pas sur le HTML.

    Une idée ?

    Répondre à ce message

  • Le 19 octobre 2017 à 15:51, par AlainF En réponse à : Menus

    Bonjour et merci pour ce travail,
    est-il envisagé de le rendre compatible : Spip 3.2. ?
    Doit-on envisager une autre direction ? merci.

    • Le 19 octobre 2017 à 18:19, par RastaPopoulos En réponse à : Menus

      Euh il est déjà décrit avec la borne 3.2.* :)
      https://plugins.spip.net/menus.html

    • Le 19 octobre 2017 à 18:50, par AlainF En réponse à : Menus

      Bonjour,
      désolé, je n’ai vu que la zone compatibilité du début d’articles, maintenant, j’ai installé le plugin « Vérifier la compatibilité des plugins » qui confirme bien pour la V3.2

      Désolé du dérangement, pourquoi pas faire une mise à jour des mots clés sur cet article pour le lecteur un peu fatigué comme moi ?

      Cordialement Alain

    • Le 19 octobre 2017 à 18:57, par Maïeul En réponse à : Menus

      La mise à jour des mots clefs est normalement automatique, mais il y parfois un décalage.
      Cela étant je viens de forcer la mise à jour ici.

    • Le 20 octobre 2017 à 08:58, par AlainF En réponse à : Menus

      Merci pour la réactivité et le bon travail, bonne continuation.

    Répondre à ce message

  • Le 23 juin 2017 à 16:33, par Karen En réponse à : Menus

    Bonjour,

    J’utilise ce super plugin avec « menu animé » pour la mise en forme, sur un SPIP 3.1
    Je construit le menu de la façon suivante : objets ’rubrique’ en 1er niveau, liste des articles en sous-menu… tout simple.

    J’aimerais qu’on ne puisse que survoler le 1er niveau pour dérouler le sous-menu, sans pouvoir cliquer sur les rubriques qui ne contiennent rien d’intéressant, mais je ne trouve pas de solution.

    J’ai tenté de modifier menus/objet.html en remplaçant la création de l’url par un # sur la dernière ligne, je sais que ça n’est pas très propre mais je ne vois pas d’autre solution.

    Le problème est que ça fonctionne au survol, mais au clic, ça provoque l’affichage du sous-menu sans la possibilité de le faire disparaître ensuite.

    Avez-vous une solution pour réaliser cette modification de façon propre et efficace ?

    D’avance merci !

    • Le 23 juin 2017 à 16:47, par RastaPopoulos En réponse à : Menus

      Aucune idée, je ne sais pas comment fonctionne le javascript et/ou le css du mécanisme que tu utilises. Mais je sais qu’il y a des librairies qui permettent cela tout en ayant un vrai lien normal sur le premier niveau. Ce qui est notamment utile quand les gens n’ont pas javascript, et que donc ils ne voient QUE le premier niveau, et que donc c’est très bien qu’ils puissent aller sur le vrai lien (et alors voir les sous rubriques mais listées dans cette page). Pareil pour le clic du milieu qui ouvre dans un nouvel onglet, ça permet aux gens d’aller à cette rubrique même si le clic normal ne fait qu’ouvrir le sous-menu. C’est généralement (voire toujours) une mauvaise idée pour l’accessibilité d’avoir des entrées sans liens qui ne mènent nulle part.

    • Le 23 juin 2017 à 18:15, par Karen En réponse à : Menus

      Merci pour ta réponse rapide, et oui, je crois que je vais laisser la liste des pages de la rubrique, par sécurité et aussi par simplicité car je ne saurai pas comment m’en sortir ,-)
      À priori le JS de ’menu animé’ est hyper simple et uniquement pour la version mobile, donc ça n’est pas ça qui créé le bug. Je pensais du coup que ça venait de ton côté, même s’il n’y a pas de JS. Je ne comprends pas ce bug au clic puisque le CSS ne gère que du :hover > visible…
      Bref, je laisse tomber, pour les 2 raisons précitées !
      Bon week-end !

    Répondre à ce message

  • Le 23 mai 2017 à 17:10, par Fennec72 En réponse à : Menus

    Bonjour,

    Est-il possible d’utiliser le plugin Menu avec le plugin Sidr ou avec un autre plugin Spip de menu hamburger ?

    Merci d’avance,

    Cordialement,

    Hervé

    • Le 23 mai 2017 à 17:39, par RastaPopoulos En réponse à : Menus

      Aucune idée, le plugin ne fait que générer un HTML standardisé pour les listes de liens, donc après chacun fait ce qu’il veut.

    • Le 23 mai 2017 à 20:39, par DD En réponse à : Menus

      Oui c’est possible.

      Il faut reprendre la classe css du menu dans l’inclure :

      Exemple (mon code n’est pas récent, ça a peut-être évolué) :

      [(#REM) MAIN NAVIGATION / NAVIGATION PRINCIPALE ]
      <div id="nav">
      <div id="mobile-header">
      <a id="responsive-menu-button" href="#sidr-main">Menu</a></div>
      <INCLURE{fond=inclure/barre-nav, env, identifiant=barrenav}>
      </div>
    • Le 13 juin 2017 à 17:51, par Fennec72 En réponse à : Menus

      Bonjour,

      Mon code est légèrement différent mais fonctionne :

      1. <div id="mobile-header">
      2. <a id="responsive-menu-button" href="#sidr-main"></a>
      3. </div>
      4. <nav id="menuhaut">
      5.     #INCLURE{fond=inclure/menu, env, identifiant=barre_nav}
      6. </nav>

      Télécharger

      Par contre, il reste un point que je n’arrive pas à régler :
      Mon menu à l’identifiant barre_nav utilise pour la version desktop, le plugin « jQuery Superfish ».
      Conséquence : même avec des media query les classes CSS de jQuery Superfish se tape l’incruste en se mêlant à celle de Sidr.
      Comme dire au plugin « Menus » qu’en-dessous de 900px (par exemple), la classe « .sf_horizontal » de jQuery superfish n’agit plus ?

    • Le 13 juin 2017 à 18:12, par DD En réponse à : Menus

      Je n’ai pas de style .sf_horizontal mais tu peux peut-être essayer :

      @media (max-width: 900px) {
      sf_horizontal {display: none;}
      }

    Répondre à ce message

  • Le 8 juin 2017 à 15:39, par y-forums En réponse à : Menus

    Bonjour,
    Sur une page quand je passer par squelettes&css, j’ai entre autre :
    plugins/auto/spipr_doc/v0.5.13/content/sommaire.html

    J’édite sommaire.html, je rajoute le inclure donc j’ai :

    <div class="lead">#DESCRIPTIF_SITE_SPIP</div>
       #INCLURE{fond=inclure/menu, env, identifiant=<barenav>}
    <p><:spipr_doc:coincoin:></p>

    (ouais, je sais barenav, c’est pas très original) :-)

    Ça ne donne rien, à part qu’en plus de sommaire.html j’ai

    plugins/auto/spipr_doc/v0.5.13/content/sommaire.html
    joie et bonheur !
    plugins/auto/menus/v1.6.7/inclure/menu.html
    coincoin

    Je ne vois pas ce que je pourrais faire de plus...

    Bonne journée,
    Yves

    • Le 8 juin 2017 à 15:44, par Maïeul En réponse à : Menus

      Je comprend pas, tu avais deja plugins/auto/spipr_doc/v0.5.13/content/sommaire.html, donc je vois pas pourquoi tu l’a en plus.

      De plus je ne saisie pas de quoi tu parle lorsque cite « plugins/auto/menus/v1.6.7/inclure/menu.html » comme cela, sans contexte.

      Cela étant :
      -  si tu modifie un fichier de plugins, il faut en faire une copte dans ton dossier squelettes. Donc tu recopier plugins/auto/spipr_doc/v0.5.13/content/sommaire.html dans squelettes/content/sommaire.html. Cela évitera de perdre tes modifs en cas de mise à jour du plugin
      -  identifiant=<barenav> est erronnée. identifiant=barenav est correcte. Dans une documentation informatique, un texte entre crocher désigne en général quelque chose qui doit être remplacé.
      -  je suis étonné que spipr n’intègre pas deja cela en natif (mais ce n’est pas impossible)

    • Le 8 juin 2017 à 16:19, par y-forums En réponse à : Menus

      Bonjour
      merci pour ta réponse, je vais essayer d’être plus clair...
      Pour le moment, je n’ai que la page d’accueil affichée, là je regarde par squelettes&css je vois donc tous les bouts de squelette qui sont dans la page, dont « sommaire.html » si j’ai choisi celui là c’est qu’il est simple, j’aurais pu en prendre un autre.

      Il est dans /htdocs/beta-lisi/plugins/auto/spipr_doc/v0.5.13/content/

      Je sais qu’il fait modifier ça dans le dossier /squelette, là je fais ça juste pour tester.

      1. barenav, pas <barenav>

      ok, ça me rappelle la fois où je mettais un $ devant toutes les lignes de commandes unix

      => Ça marche !!

      Mille merci et bonne fin de journée,
      Yves

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • PHANTOM (HTML5UP)

    18 juillet – commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • Cycle2

    7 août 2014 – 119 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • Galleria (fr)

    16 novembre 2011 – 193 commentaires

    Une galerie d’image qui utilise la librairie javascript Galleria. Description Ce plugin vous permet d’ajouter des galeries d’images à vos articles. La galerie créée utilise la librairie javascript Galleria. Le plugin propose un modèle nommé (...)

  • Une licence pour un article

    18 avril 2007 – 51 commentaires

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • ScolaSPIP 4

    19 janvier 2016 – 371 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)