SPIP-Contrib

SPIP-Contrib

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

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

Accueil du site > Navigation > Menus contextuels > Menu dépliant tout SPIP > Menu dépliant tout en spip (sans php ni javascript)

Menu dépliant tout en spip (sans php ni javascript)

20 octobre 2005 – par skystan – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

5 votes

Un petit menu auto-extensible entièrement SPIPIEN, sans php, java ou autre composante étrangère...

Pour faire un menu « dynamique », il fallait souvent mélanger ses boucles avec un peu de php, un zest de java et beaucoup de doigté.
Voici un menu tout simple qui utilise la balise #EXPOSER et une feuille de style.

Placez le fichier « menu.html » avec vos squelettes

Pour les curieux, voici le code :

[* ! ATTENTION pour l’instant la balise [(#EXPOSER|oui,non)] fonctionne toujours avec SPIP 1.9, mais si avec les futures versions vous avez des problèmes, il faudra la modifier avec [(#EXPOSE{oui,non})] Je vous ai préparé les archives zip avec l’une ou l’autre des balises.*]

Placez le fichier « menu.php » à la racine de votre répertoire SPIP ou dans votre répertoire dédié aux squelettes (voir la doc spip si vous ne savez pas de quoi je parle).

Ajoutez le code css dans votre feuille de style perso et adaptez le à vos exigences :

enfin, copiez le bout de code suivant à l’emplacement du menu dans vos squelettes :

-  pour SPIP 1.9 :

-  pour les versions avant SPIP 1.9 :

ceci intègrera automatiquement le menu dans vos page avec la coloration du menu.

JPEG - 25.4 ko
Le menu
Le menu en action

Si vous ne voulez pas bénéficier de la coloration grâce à la balise #EXPOSER, un simple

sufira !!!!

Pour ceux qui sont encore avec des fichiers .php3, il faut renomer les fichiers .php en .php3 et changer le code à intégrer pour celui-ci :

Ce menu est en fonction ici (squelette bleu)

Retour en haut de la page

Vos commentaires

  • Le 2 novembre 2010 à 20:45, par Dragon En réponse à : Menu dépliant tout en spip (sans php ni javascript)

    Bonjour,

    J’utilise le code.. super mais :

    Je n’arrive pas à mettre les rubriques avant les articles.

    En j’ai réussi à inverser pour les boucle de premier niveau mais pas pour les suivants...

    Comment faire ?

    H

    Répondre à ce message

  • Le 30 juillet 2009 à 22:58, par ? En réponse à : Menu dépliant tout en spip (sans php ni javascript)

    voici un menu dépliant sans js http://bormat2.free.fr/

    Répondre à ce message

  • Le 21 décembre 2007 à 13:36, par Bernie En réponse à : Menu dépliant tout en spip (sans php ni javascript)

    L’environnement que j’ai :
    SPIP 1.9.2c [10268] et utilise le squelette EVA-Web 3.0 Bêta1

    J’ai placé « menu.html » dans le dossier « squelettes » de eva et « menu.php » dans « htdocs »

    Mais je ne sais pas à quel endroit placer l’autre bout de code. (dans « sommaire » ? A quelle ligne ?)

    Répondre à ce message

  • Le 30 août 2007 à 23:39, par aire 42 En réponse à : personnalisation du super menu « spipien »

    Super le menu, merci je cherchais ça depuis un bout de temps.

    Je bloque cependant sur quelques points :

    -  coloriser les sous-rubriques de la même couleur que la rubrique sélectionnée
    -  donner un autre style aux sous-rubriques (taille, backgroung-image...)
    -  règler les propriétés des liens en survol (a:hover)

    A cette adresse, dans la colonne de gauche, le menu"tout en SPIP" est en bas( le menu supérieur est factice).

    Malgré des bidouillages sur menu.html et sur le CSS concernant le menu, je suis en panne.

    Merci d’avance pour votre aide

    • Le 31 août 2007 à 16:47, par aire42 En réponse à : personnalisation du super menu « spipien »

      Précision : le menu du haut est factice MAIS c’est ce que je veux arriver à faire avec le menu « spipien » qui est en bas dans la colonne

      De l’aide SVP

    • Le 13 septembre 2007 à 08:54, par aire42 En réponse à : personnalisation du super menu « spipien »

      C’est bon, j’ai eu le résultat obtenu... grâce à l’aide d’une ami développeur (Merci Mr TO.)
      Tout a été fait -bien sûr- en CSS et en SPIP et je l’ai placé et décliné à plusiuers endroits du site (-> voir le fichier HTML pour le code).

      à voir à l’adresse suivante

      Merci encore pour cette contrib.

    Répondre à ce message

  • Le 12 avril 2007 à 16:53, par ? En réponse à : Menu dépliant tout en spip (sans php ni javascript)

    Très attiré par ce menu proposé, j’ai testé mais j’ai cette erreur ci dessous sans parvenir à la résoudre. Quelqu’un pour m’aider ? Merci bokou ;)

    # Erreur(s) dans le squelette

    * Erreur sur le site, - Fichier menu.php introuvable
    * Erreur sur le site, - Fichier menu.php introuvable
    * Erreur sur le site, - Fichier menu.php introuvable

    Répondre à ce message

  • Le 3 avril 2007 à 00:33, par fvpat En réponse à : Menu dépliant tout en spip (sans php ni javascript)

    Salut

    Je débute sous SPIP et je ne comprends pas le fonctionnement de tout ça. Par contre, je suis très intéressé par un tel morceau de code.
    Toutefois, je ne suis pas tout à fait dans la même configuration. Ce que je souhaiterais, c’est d’afficher uniquement les sous-rubriques correspondant à la rubrique cliquée, sachant qu’il n’y a pas forcément d’articles (ou autres) de publiés dans les sous-rubriques.
    Quelqu’un pourrait m’expliquer un peu plus comment ce menu fonctionne ?
    Merci beaucoup

    • Le 3 avril 2007 à 00:35, par fvpat En réponse à : Menu dépliant tout en spip (sans php ni javascript)

      Petite précision, je suis avec spip 1.9.2

    • Le 6 avril 2007 à 20:18, par ? En réponse à : Menu dépliant tout en spip (sans php ni javascript)

      Salut, tu ne veux faire apparaître que les sous-rubriques de la rubrique en cours ? Dans ce cas, une simple boucle

      devrait suffir.

    Répondre à ce message

  • Le 8 novembre 2006 à 20:19, par spipfactory En réponse à : Menu déroulant tout en spip (sans php ni javascript)

    Voila étant sous spip 1.9 ; je penser qu’en modifiant le code de cette maniere le menu aurait fonctionner.

    a tort sans doute

    Ci-joint le code pour faire apparaitre le menu

    <BOUCLE_article_menu(ARTICLES){id_article}>
            <INCLURE{fond=menu}{id_rubrique}{id_article}>
            </BOUCLE_article_menu>
                    <BOUCLE_rubrique_menu(RUBRIQUES){id_rubrique}>
                    <INCLURE{fond=menu}{id_rubrique}>
                    </BOUCLE_rubrique_menu>  
                    <INCLURE{fond=menu}>
                    <//B_rubrique_menu>
             <//B_article_menu>

    pouvez vous m’orienter afin de le faire fonctionner avec la derniere version spip.

    Répondre à ce message

  • Le 5 septembre 2006 à 01:37, par matthieu En réponse à : Menu déroulant tout en spip avec php

    Pour simplifier encore plus tout ça, ce qui serait génial serait un critére expose qui permettrais d’afficher depuis n’importequel niveau du site le même menu...

    Aprés avoir essayé cette solution je crois qu’il est plus simple d’utiliser un peu de php. En rajoutant le menu avec un <INCLURE{fond=inc-menuvertical}{id_rubrique}> (ou <INCLURE{fond=inc-menuvertical}{id_article}>). De cette maniére on peu faire un menu qui affiche les bonnes rubrique depuis n’importe quel endroit du site.

    Par exemple :

    <BOUCLE_racine(RUBRIQUES){racine}>
    <BOUCLE_menuvertical(RUBRIQUES) {id_parent} >

    <?php $on = '[(#EXPOSE|texte_script)]';
    if ($on){?>

    <div class="bottom_menu">

    <h4 class="top_menu">[(#TITRE|supprimer_numero)]</h4>
    <ul>
    <BOUCLE_sousmenuvertical(ARTICLES) {id_rubrique}{doublons exclus}{par num titre}><li>
    <a href="#URL_ARTICLE"  class="sub#EXPOSE">[(#TITRE|supprimer_numero)]
    </a></li></BOUCLE_sousmenuvertical(>
    </ul>

    </div>


    <?}?>

    </BOUCLE_menuvertical>
    </BOUCLE_racine>
    • Le 5 septembre 2006 à 08:00, par skystan En réponse à : Menu déroulant tout en spip avec php

      Bonjour,

      oui, toute simplification est intéressante, mais pas en insérant du php. Le but est de supprimer le maximum de php de nos squelettes, pour coder en SPIP pure.

      Y’a plus qu’a chercher à faire ça en spip.

      Cordialement

    • Le 6 septembre 2006 à 05:24, par matthieu En réponse à : Menu déroulant tout en spip avec php

      Sur le fond tout à fait d’accord avec toi, sauf que mettre plein de boucles pour faire deux lignes de php je trouve ça domage. Jusque là c’est vraiment la solution la plus simple pour un menu qui soit accessible depuis n’importequel profondeur en affichant les bonnes sous rubriques ( par exemple avec un menu horizontal et un menu vertical) en plus ça marche à tout les coups et c’est super facile de maintenance. Je me suis permit de l’écrire parce que ces deux lignes me simplifie la vie à chaque fois. Une autre solution sans php c’est cacher toutes les rubriques qu’on ne veut pas voir avec les css, mais c’est pas trés sémantique, et ça alourdie la page, ça marche à la limite pour un sous sous niveau. L’ideal serait un critére « expose » dans les boucles, mais bon étrangement il existe pas. Récupérer des variables de spip et jouer avec avec php, c’est une super technique dans certain cas !

    Répondre à ce message

  • Le 11 août 2006 à 17:05, par mumuri En réponse à : Menu déroulant tout en spip (sans php ni javascript)

    Je sais pas si çà peut être utile à quelqu’un mais dans mon cas, je voulais n’afficher que certains articles (les articles étant définis manuellement par moi)

    Pour cela, j’ai rajouté un mot clés « _nonaffichee »
    Ensuite, sur les rubriques où je ne désirais pas afficher les articles, j’ai rajouté le mot clés

    Enfin dans le squelette , j’ai mis ceci au début

    <BOUCLE_RubAffichees(RUBRIQUES){titre_mot=_nonaffichee}>
       <BOUCLE_RubAfficheArticle(ARTICLES){id_rubrique}{doublons}></BOUCLE_RubAfficheArticle>
    </BOUCLE_RubAffichees>

    puis cela dans la boucle d’affichage des articles

    <BOUCLE_articleb(ARTICLES){id_rubrique}{par num titre}{doublons}{lang}>
        <a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]> [(#TITRE|supprimer_numero)]</a>
    </BOUCLE_articleb>  

    Vous pouvez facilement modifier pour n’afficher que certains articles.

    Répondre à ce message

  • Le 21 juin 2006 à 12:38, par Birdy En réponse à : Le menu reste « enroulé »

    Bonjour,

    J’ai installé tout comme indiqué et mon problème n’est pas que tout est « déroulé », mais l’inverse, tout reste « enroulé » quelque soit la sélection. Seules les rubriques de la racine apparaissent (après la correction EXPOSE).

    • Le 21 juin 2006 à 13:04, par skystan En réponse à : Le menu reste « enroulé »

      Envoie moi tes fichiers (menu et css)

      Est-tu sur d’avoir des articles publiés ?

    • Le 22 juin 2006 à 00:49, par Birdy En réponse à : Le menu reste « enroulé »

      Problème réglé : j’ai placé le lien INCLURE(menu.php3) id_rubrique dans la page sommaire, mais j’ai laissé INCLURE(menu.php3) dans les pages rubrique et article. C’est tout le contraire qu’il fallait faire...

    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

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

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

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)