Ne pas afficher certains éléments dans les boucles

Une petite astuce sympa qui vous permet de cacher de vos boucles certaines rubriques, articles ou brèves du site.

Introduction

Vous pouvez avoir besoin de cacher une rubrique dans une boucle de rubriques, par exemple pour afficher un menu simplifié en page d’accueil.

Vous pouvez aussi avoir besoin de faire un petite boucle « Vous aimez » qui contient les articles les plus visités (par popularité). Évidemment, si vous avez un article « Nous contacter », ce n’est pas très utile qu’il apparaisse ici !

Vous pouvez aussi gérer une brève de page d’accueil, qui n’a pas besoin d’apparaître ailleurs sur le site.

Ou alors vous avez simplement envie de masquer des résultats de recherche ?

Et bien, vous allez voir, grâce aux mot-clés, c’est... facile !

Les mot-clés

Dans un groupe de votre choix (j’ai fait un groupe « Administratif » qui contient mes mot-clés de gestion du site)

créez un mot clé que vous appellerez « Invisible » :

Associez ce groupe de mot-clés aux article, brèves et rubriques. Enfin là où vous aurez besoin de masquer des informations de vos boucles.

Un menu simplifié

Soit dans votre squelette une boucle qui affiche la liste des rubriques racines de votre site :

<BOUCLE_menu_rubrique (RUBRIQUES) {racine} {par titre}>
  <a href="#URL_RUBRIQUE">#TITRE</a><br>
</BOUCLE_menu_rubrique>

Si vous souhaitez faire disparaître les éléments qui possèdent le mot-clé « Invisible » il faut d’abord les sélectionner, ne rien afficher, puis sélectionner toutes les rubriques qui n’ont pas déjà été sélectionnées, grâce au critère « doublons » à mettre dans les deux boucles.

<BOUCLE_menu_rubrique_invisible(RUBRIQUES) {racine} {titre_mot = Invisible} {doublons}>
</BOUCLE_menu_rubrique_invisible>

<BOUCLE_menu_rubrique(RUBRIQUES) {racine} {par titre} {doublons}>
  <a href="#URL_RUBRIQUE">#TITRE</a><br>
</BOUCLE_menu_rubrique>

Un article masqué d’une rubrique

Imaginez un article « Nous contacter ». Vous ne voulez pas le voir apparaître dans la liste des articles d’une rubrique, puisque vous avez un lien dessus directement dans vos pages HTML

Pour enlever un article d’un boucle d’articles récents d’une rubrique :

<BOUCLE_articles_invisibles (ARTICLES) {id_rubrique} {titre_mot=Invisible} {doublons}>
</BOUCLE_articles_invisibles>

<BOUCLE_articles_recents (ARTICLES) {id_rubrique} {par date} {inverse} {doublons}>
  <a href="#URL_ARTICLE">#TITRE</a>
  [Le (#DATE|nom_jour)] [(#DATE|affdate)] 
  <br>
</BOUCLE_articles_recents>

Un article masqué dans le moteur de recherche

Même chose, commencez par sélectionner les articles avec ce mot-clé sans les afficher, et sélectionnez ensuite les articles différents de ceux déjà sélectionnés auparavant.

<BOUCLE_articles_invisibles(ARTICLES) {recherche} {titre_mot=Invisible} {doublons}>
</BOUCLE_articles_invisibles>

<BOUCLE_articles(ARTICLES) {recherche} {par points} {inverse} {0,10} {doublons}>
  <h2><a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></h2>
  <div class="detail">
  [(#DATE|nom_jour)] [(#DATE|affdate)]
  <B_auteurs_articles><:par_auteur:> <BOUCLE_auteurs_articles(AUTEURS) {id_article} {", "}>#NOM</BOUCLE_auteurs_articles>
  </div>
  <br>
</BOUCLE_articles>

Un top 5 des articles les plus visités

<BOUCLE_invisible (ARTICLES) {tout} {titre_mot=Invisible} {doublons}>
</BOUCLE_invisible>

<BOUCLE_top5 (ARTICLES) {tout} {par popularite} {inverse} {0,5} {doublons}>
  <A href="#URL_ARTICLE">#TITRE</A><br>
</BOUCLE_top5>

Mise en garde avec les doublons

Le critère doublons est associé au squelette tout entier.

Autrement dit, si vous souhaitez l’utiliser autre part dans votre page, créez des squelettes inclus. Avec cette méthode la portée du critère doublons se contentera du squelette courant uniquement, et pas des squelettes appelants ni des squelettes appelés.

Conclusion

Notez bien que ce mot-clé appelé « Invisible » n’indique pas à SPIP de cacher l’élément. C’est simplement VOUS qui l’écartez dans vos squelettes. Vous pouvez toujours avoir des boucles qui référencent cet élément.

Discussion

Aucune discussion

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