SPIP-Contrib

SPIP-Contrib

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

273 Plugins, 191 contribs sur SPIP-Zone, 33 visiteurs en ce moment

Accueil du site > Navigation > Gérer les menus > Menus

Menus

18 août 2009 – par RastaPopoulos – 558 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

108 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 Déroulant 2, Menu Accordéon 2 ou Menu jQuery Superfish.

Installation

Zip - 48 ko
Télécharger le plugin

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 !

PNG - 12.6 ko

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>

Retour en haut de la page

Vos commentaires

  • Le 31 janvier à 12:57, par benoloas En réponse à : Menus

    Bonjour à tous,
    J’ai réalisé un site multilingue, par secteur.
    Sans appel &LANG=#LANG, il semble que les langues « secondaires » ne puissent s’afficher correctement. Comment/où puis-je rajouter d’après vous ce paramètre à l’URL de renvoi des menus ?
    En vous remerciant !!!

    • Le 1er février à 23:06, par RastaPopoulos En réponse à : Menus

      Je n’ai malheureusement rien compris. :)

    Répondre à ce message

  • Le 26 janvier à 22:44, par Flammy En réponse à : Menus

    Bonjour !

    Tout d’abord merci beaucoup pour ce plugin, fort utile et pratique ! Ceci-dit, j’aurai une question concernant le code html qui est generee : j’ai cree un menu de type « Liste ou arborescence de rubriques et d’articles » et les articles sont inclus dans le menu. Tout est parfait, mon soucis est que la class « on », lorsque je suis dans un article, est appliquee aussi a la rubrique correspondante, ce qui me pose probleme dans le css pour mettre en relief l’article correspondant a travers la class « on ».

    Y’aurait-il moyen de contourner ce probleme en modifiant le code genere par exemple ? Si oui de quelle maniere ?

    Merci beaucoup !

    • Le 1er février à 23:05, par RastaPopoulos En réponse à : Menus

      L’exposition concerne toute la branche, comme c’est le cas dans les menus par défaut de la dist d’ailleurs. À toi de ne styler en CSS que la partie qui convient, et non pas forcément tous les .on.

    Répondre à ce message

  • Le 19 janvier à 16:03, par Matthieu En réponse à : Menus

    Bonjour, et félicitation pour ce plugin !

    Juste une idée de type d’entrée comme ça. Un bouton Facebook « J’aime » pourrait être sympa non ?

    Cordialement.

    Répondre à ce message

  • Le 16 janvier à 14:48, par F. Hamonno En réponse à : Menus

    Bonjour

    J’utilise menus 0.8.15 sous spip 2.1.11 et j’aimerais savoir où insérer le filtre "supprimer_numero afin de supprimer les nombres utilisés pour classer les titres.

    NB : J’ai spécifié le filtre dans mes_options.php, mais cela ne marche pas dans le menu.

    Merci d’avance pour l’info.
    François

    • Le 18 janvier à 10:50, par anonymous En réponse à : Menus

      J’ai résolu ce problème en dé commentant la ligne :

      1. $table_des_traitements[’TITRE’][]= ’typo(supprimer_numero(%s));

      dans ecrire/inc_version.php

    • Le 18 janvier à 10:59, par RastaPopoulos En réponse à : Menus

      Grands Dieux non ! On ne modifie jamais un fichier du logiciel ! :)

      Soit il faut mettre cette directive dans config/mes_options.php, soit il faut utiliser un plugin comme Couteau KISS qui propose cette option.

    • Le 18 janvier à 14:43, par F. Hamonno En réponse à : Menus

      Merci pour la réponse.

      Je suis d’accord sur le fond de la remarque (mais la forme est un peu agressive !).
      Dommage que ce fichier ne puisse pas être surchargé...

      J’ai déplacé mes_options.php dans config/ et ça marche !
      NB : Jusqu’ici mes sites étaient sous SPIP V1.x

      Cordialement
      François

    Répondre à ce message

  • Le 10 janvier à 15:40, par Alexandre Tomas En réponse à : Menus

    Bonjour, j’utilise ce plugin, et dans la boucle menu, j’affiche donc chaque entrée avec #MENUS_AFFICHER_ENTREE mais cependant, il est apparemment impossible de savoir dans la boucle si l’entrée affichée est la dernière.

    L’intérêt de cette question est par exemple d’intercaler entre chaque entrée affichée le caractère « | », ce qui sous-entend donc de savoir quelle est la dernière entrée afin de ne pas mettre ce caractère à la suite.

    Je n’ai pas trouvé dans les filtres SPIP celui qui permettrait une telle prouesse. Je ne doute pas qu’il y ait une réponse évidente à côté de laquelle je serais passé. Si tel était le cas, j’aimerais bien la connaître... Merci d’avance pour votre aide éventuelle.

    • Le 11 janvier à 00:12, par Alexandre Tomas En réponse à : Menus

      Dans la même veine, il serait carrément judicieux de pouvoir isoler l’url et le libellé de l’entrée, de sorte qu’il soit possible d’être plus libre dans le choix de l’affichage qu’avec #MENUS_AFFICHER_ENTREE qui regroupe l’ensemble si j’ai bien compris.

      J’ai jeté un oeil dans le plugin pour rajouter une ou deux balises mais j’ai du mal à comprendre comment les données sont traitées. Si j’ai une petite piste je pourrai faire un peu de PHP et arranger ça.

      Merci de toute façon pour ce plugin très abouti.

    • Le 11 janvier à 00:24, par Maïeul En réponse à : Menus

      non, par pitié, pas de PHP !!!!

      http://geekographie.maieul.net/Pourquoi-ne-pas-mettre-de-PHP-dans

      pour la première question, la solution est la suivante

      <BOUCLE_xxx(XXX){"|"}>
      </BOUCLE_xxx>

      cela se charge automatiquement d’insérer | entre chaque itération de la boucle. Cf http://www.spip.net/fr_article900.html tout en bas « affichage entre les résultats ».

      Pour le second point, il faudrait regarder comment fonctionne #MENU et voir si on peut faire une modification générique. Mais pas ce soir :-)

    • Le 11 janvier à 02:24, par Alexandre Tomas En réponse à : Menus

      Merci infiniment, je me disais bien qu’il y avait encore une solution simple. Du coup ça résout parfaitement la première question.

      Pour le second point, rien de pressé, la liberté attendra bien un peu... Encore merci !

    • Le 11 janvier à 02:37, par Alexandre Tomas En réponse à : Menus

      Et j’oubliais, c’est vrai que le PHP on peut l’éviter. Avec les boucles SPIP on reste beaucoup plus lisible, le tout c’est de potasser un peu la doc. Merci pour les liens.

    Répondre à ce message

  • Le 12 décembre 2011 à 06:19, par jmfre En réponse à : Menus

    Bonjour

    Merci pour votre plugin.

    Je voudrais exposer l’item de la page en cours d’affichage (je pensais à la balise #EXPOSE), je n’ai pas trouvé ou la mettre.
    Il semble qu’une réponse ait été apportée à cette question le 18/08/09, mais ce forum s’arrête au 19/08/09 (loupé, de peu).

    Bonne journée

    • Le 24 décembre 2011 à 09:49, par jmfre En réponse à : Menus

      Après recherches
      -  si j’utilise le plugin menus sans le plugin sarkaspip, une classe « on » est présente,
      -  si j’utilise le plugin menus et le plugin sarkaspip, la classe « on » n’est pas présente.

      La solution à ce pb d’exposition se situe donc quelque part du coté du plugin sarkaspip...
      Je reposterai si je trouve une solution.

      Joyeux Noël

    Répondre à ce message

  • Le 15 décembre 2011 à 12:11, par yves_web En réponse à : Menus

    Merci pour le plugin, si tous marchaient aussi bien que celui-ci, spip ça deviendrait des vacances.

    Simplement, à l’intention de ceux (dont je fais partie) qui lisent la doc après avoir installé le plugin, serait-il possible d’écrire en haut, en strong, et en blink qu’il faut, pour qu’une rubrique ou un article s’affiche dans la barre, associer un nouveau mot clef à la rubrique ou à l’article en question et que ce mot clef soit l’identifiant de la barre...

    Sinon le lien depuis l’item de menu, bien que valable, tombe sur une erreur 404 et on maudit l’auteur du plugin pour 15 générations :-)

    Bien cordialement,
    Y

    • Le 15 décembre 2011 à 12:15, par RastaPopoulos En réponse à : Menus

      Je ne comprends pas de quoi tu parles. Ya jamais eu d’histoire de mot-clé dans de plugin. Ce que tu décris là tient plus d’une incantation magique.

    • Le 15 décembre 2011 à 13:06, par yves_web En réponse à : Menus

      Bin... Disons que je veut bien dire que j’ai écrit une c... mais...

      Ce qui m’est arrivé, c’est que j’ai voulu faire un cv de l’auteur d’un site sur lequel je bosse, qu’il soit dispo dans la barre avec le retour à l’accueil du site
      J’ai fait un article, et dans la config du menu j’ai donné le type : article, donné le N°, ça s’affichait bien dans la barre de menu, mais quand je cliquais dessus ça donnait « erreur 404 » j’ai fait la même chose avec une rubrique, idem.
      Du coup ayant lu « Il faut lui donner un titre, ainsi qu’un mot-clé qui vous permettra de l’appeler facilement » j’ai créé et associé un mot clef à mon article (l’identifiant de ma barre) et ça marche.
      Voila...
      Si tu veux je te passe l’url du site etc. si veux voir ce que ça fait.
      En tout cas, encore merci.
      Bien cordialement,
      Y

    • Le 15 décembre 2011 à 14:18, par RastaPopoulos En réponse à : Menus

      Le « mot-clé » dont parle l’article, c’est l’identifiant du menu, ça n’a rien à voir.

      Si un objet éditorial donne une page 404, c’est juste qu’il n’est pas publié. Un article est publié, si son statut est « publié ». Une rubrique est publiée si elle a au moins un contenu publié.

    • Le 15 décembre 2011 à 14:43, par yves_web En réponse à : Menus

      Ok, pour le mot clef... Mais bon...
      Pour le coup de la publication, merci, je savais.
      Bonne journée
      Y

    Répondre à ce message

  • Le 2 décembre 2011 à 11:56, par Capsco En réponse à : Menus

    Bonjour,

    Je viens d’installer ce plugin et je rencontre un pb sous IE9 alors que ça fonctionne sur Firefox8.
    Quand je créé un menu et que je clique sur "Ajouter une entrée" l’icône de travail bouge pendant 2 secondes mais cela ne fait rien.

    J’ai cette erreur dans la console :
    SCRIPT5007 : La valeur de la propriété « $ » est null ou non définie, pas un objet Function _ ?exec=menus_editer, Ligne 85 Caractère 2

    Pour info je suis sur SPIP 2.1.12.

    Merci

    JPEG - 29.6 ko

    Répondre à ce message

  • Le 22 novembre 2011 à 17:20, par JBPE En réponse à : Menus

    Bonjour, je reviens avec mon problème d’appel du menu, depuis trois semaines..

    Je m’explique, j’ai intégré le mini-squelette dans le fichier de l’entête, en dessous-du titre et rien ne se passe.

    <div id="entete">
    <a rel="start home" href="#URL_SITE_SPIP/" title="<:accueil_site:>" class="accueil">[(#LOGO_SITE_SPIP|image_reduire{300,100}) ]<strong id="nom_site_spip">#NOM_SITE_SPIP</strong></a>
    #INCLURE{fond=inclure/menu, env, identifiant=menuhoriz}

    Y-a-t-il quelque chose que je n’ai pas compris quelque part ???
    Merci d’avance.

    Jean-Baptiste

    • Le 22 novembre 2011 à 17:27, par RastaPopoulos En réponse à : Menus

      Y-a-t-il quelque chose que je n’ai pas compris quelque part ???

      Ben qu’est-ce que j’en sais moi... :)

      Je ne connais pas ton site, ni son code, ni les menus que tu as créé dans l’interface de ce plugin. Tu as bien un menu dont l’identifiant est « menuhoriz » ? Quand tu fais « var_mode=inclure » dans l’URL, tu le vois quelque part ton bout de squelette ?

    Répondre à ce message

  • Le 22 novembre 2011 à 15:34, par gilles En réponse à : Menus

    Je peine pour l’utilisation de ce plugin sur un petit site multilingue.

    Le site n’est pas partagé en secteur.

    Les articles sont traduis avec les fonctions de traductions de spip

    J’utilise le plugin pour le menu général du site.

    Mais je ne vois pas comment faire pour avoir un menu par langue. Est-ce possible avec le plugin ?

    Quelqu’un à déjà résolu cela ?

    Sinon je trouverais un autre moyen, mais ce plus compliqué pour le propriétaire du site s’il veut changer ses menus.

    Merci

    • Le 22 novembre 2011 à 16:06, par RastaPopoulos En réponse à : Menus

      Oui j’ai résolu ça ne manière assez sympa d’après moi ça pourrait d’ailleurs être intégré au squelette fournit avec le plugin.

      Dans mon squelette « inclure/barre-nav », au lieu d’insérer le menu « barrenav » je fais un test sur la langue et j’inclue le squelette « barrenav-codedelangue » s’il existe, sinon celui par défaut.

      Voici le code que j’ai pour l’instant :

      1. #SET{identifiant, #VAL{barrenav_}|concat{#LANG}}
      2. <BOUCLE_menu_traduit(MENUS){identifiant=#GET{identifiant}}>
      3.         #SET{menu_traduit,oui}
      4. </BOUCLE_menu_traduit>
      5. <div class="menu-conteneur">
      6. [(#GET{menu_traduit}|oui)
      7.         #INCLURE{fond=inclure/menu, env, identifiant=#GET{identifiant}}
      8. ]
      9. [(#GET{menu_traduit}|non)
      10.         #INCLURE{fond=inclure/menu, env, identifiant=barrenav}
      11. ]
      12. </div>

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 32 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1041 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un formulaire de contact configurable, avec de multiples options.

  • Squelette Multi-Saisons

    19 février 2009 – 226 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un squelette qui change de couleurs suivant les saisons, un graphisme tout en rondeurs et de très nombreuses options.

  • JQuery Masonry

    15 août 2011 – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin est un portage pour Spip du plugin jQuery Masonry de David DeSandro : http://masonry.desandro.com/ Principe Ce plugin réorganise les blocs de votre page page d’après une grille (de manière verticale et horizontale) pour réduire au maximum (...)

  • Thélia

    26 juin 2007 – 835 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne