SPIP-Contrib

SPIP-Contrib

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

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

Accueil du site > Navigation > Menus contextuels > Menu « dépliant » tout Spip

Menu « dépliant » tout Spip

18 avril 2005 – par rpapa – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

3 votes

Un menu dépliant sans Javascript ni PHP, utilisant les doublons nommés.

Plusieurs articles de spip contrib proposent des menus dépliants, tous ces menus nécessitent soit l’utilisation de javascript soit du PHP, ce menu utilise la nouvelle fonctionnalité de Spip 1.8 les doublons nommés.

Soit un site SPIP avec une arborescence assez complexe

PNG - 4.8 ko
Site avec une arborescence complexe

On souhaite, lorsque l’on clique sur une des rubriques du menu, visualiser uniquement les rubriques parentes et les rubriques filles, ainsi si on sélectionne la rubrique 11 on doit visualiser les rubriques 111, 112, 113 (les rubriques filles) et les rubriques 1, 2, 3 :

Menu déplié pour la rubrique 11 pour la rubrique 111 Pour la rubrique 31
PNG - 2.3 ko
menu de la rubrique 11
PNG - 2.5 ko
menu de la rubrique 111
PNG - 1.7 ko
menu de la rubrique 31

L’intérêt est à chaque instant de connaître sa position dans le site. Vous pouvez en voir l’utilisation sur ce site.

Les boucles

La première boucle permet de mémoriser les rubriques filles , elles sont stockées dans {doublons filles}

La deuxième boucle permet de mémoriser dans {doublon parents} les rubriques parentes de la rubrique en cours (les rubriques sœurs et les rubriques tantes)

Cette boucle est construite autour de la boucle hiérarchie, elle cherche les rubriques sœurs de la racine à la rubrique courante, on remarquera le critère {tout} qui permet d’obtenir aussi la rubrique courante.

Ces deux boucles permettent de sélectionner l’ensemble des rubriques à afficher.

Toutes les rubriques qui ne doivent pas être affichées sont exclues grâce à la boucle suivante. Elle liste toutes les rubriques du site en excluant {doublons filles} et {doublons parents} le résultat est stocké dans {doublons exclus}

Attention à l’ordre d’écriture des doublons , les deux premiers contiennent les rubriques à exclure, le dernier va stocker le résultat de la boucle.

Le résultat de cette boucle, contient donc tout ce que l’on ne souhaite pas afficher pour une rubrique donnée.

La boucle principale est une boucle classique d’affichage du plan d’un site, en limitant l’affichage aux seules rubriques utiles, les autres sont exclues par {doublons exclus}

Installation

le fichier zip comporte :
-  menu.html : le squelette du menu
-  menu.php3
-  la feuille de style pour obtenir l’apparence du site exemple.

Utilisation

Dans votre squelette rubrique, vous pouvez installer le menu par :

 <INCLURE(menu.php3){id_rubrique}> .

Dans votre squelette article, il est nécessaire d’englober l’appel au squelette par une boucle article

       <BOUCLE_rub_en_cours(ARTICLES){id_article}>
          <INCLURE (menu.php3){id_rubrique}>
       </BOUCLE_rub_en_cours>

Ne pas oublier de charger la feuille de style ou de la copier dans la votre.

Remerciements

Les habitués de Spip Contrib auront reconnus le plan et la feuille de style de Miss Mopi

Évolutions et personnalisation

On peut imaginer d’utilser la balise #EXPOSER pour modifier l’affichage de la rubrique en cours ou de la hierarchie comme sur ce site.

pour cela, il suffit dans la dernière boucle de définir une nouvelle classe [class="lien(#EXPOSER)"].

la boucle devient :

et de rajouter à la feuille de style

Retour en haut de la page

Vos commentaires

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

  • Thélia

    26 juin 2007 – 838 <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

  • MediaBox

    10 mai 2010 – 178 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Navigation AJAX

    31 janvier – 10 <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 (...)

  • Squelettes IENSP-X version Pleine Page pour SPIP 2.1

    8 décembre 2008 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Version 3.2 pour SPIP 2.1

  • Balise #CAPTCHA

    12 juillet 2007 – 24 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Cette nouvelle balise oblige à rentrer un code avant d’avoir accès aux forums publics des articles.