pense-bête de bruno sanchiz

Accueil > CMS > Spip > Multirubricage ou comment faire apparaître un article dans plusieurs rubriques

Multirubricage ou comment faire apparaître un article dans plusieurs rubriques

Publié le 9 juillet 2017, dernière mise-à-jour le 8 mars 2022, 33 visites, 24456 visites totales.

SPIP permet d’associer un article à une seule rubrique. Toutefois, il est possible de faire apparaître un article également dans une (ou plusieurs) autre rubrique en affectant un même mot-clé à l’article et à la rubrique cible et en ajoutant quelques boucles dans le squelette des rubriques.

Ceci permet d’afficher des articles classés par thématique dans une rubrique transversale. Par exemple, on peut regrouper artificiellement dans une rubrique « Dossiers », différents articles dispersés sur le site.

Pour simuler un multirubricage, il convient de procéder de la manière suivante :

a) créer un groupe de mots clés intitulé « _multirubricage ». Il est indispensable que les mots-clés de ce groupe puissent être associés aux articles et aux rubriques (cochez « articles » et cochez « rubriques »). Ne pas cocher « On ne peut sélectionner qu’un seul mot-clé à la fois dans ce groupe ». En effet, cela permettra de faire apparaître un article dans plusieurs autres rubriques.

b) dans ce groupe de mots, créer les mots-clés de votre choix (par exemple « Dossiers », etc.). Il est plus simple de choisir comme mot-clé le titre de la rubrique cible (par exemple on crée un mot-clé « Dossiers » et on crée une rubrique dont le titre est « Dossiers »).

c) affecter à la rubrique cible le mot-clé correspondant ( par exemple on affecte le mot-clé « Dossiers » à la rubrique dont le titre est « Dossiers »).
ATTENTION : la rubrique cible doit contenir au moins un article qui lui est directement rattaché, sinon elle ne sera pas publiée.

d) affecter, aux articles que l’on souhaiterait voir également figurer sous la rubrique ciblée, le mot-clé correspondant (par exemple on affecte le un mot-clé « Dossiers » à plusieurs articles) .

e) Dans le squelette des rubriques, ajouter une boucle pour les articles issus d’autres rubriques par simulation de multirubricage :

<!-- boucle des articles issus d'autres rubriques par simulation de multirubricage -->
<BOUCLE_mot_multirubricage(MOTS){id_rubrique}{type=_multirubricage}>
<BOUCLE_article_multirubricage (ARTICLES){id_mot}{par date}{inverse}>
<div>
<a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>
<p>[(#INTRODUCTION)]</p>
</div>
</BOUCLE_article_multirubricage>
</BOUCLE_mot_multirubricage>

Le fonctionnement est simple. On recherche tout d’abord le mot-clé du groupe « _multirubricage » qui a été affecté à la rubrique puis on recherche les articles qui ont ce même mot-clé.
A noter que seul l’intitulé du groupe de mots-clés (« _multirubricage ») figure dans le squelette. Les mots-clés ne figurent pas, aussi il n’est pas nécessaire de modifier le squelette à chaque création de mot-clé.
Si l’on souhaite utiliser plusieurs groupes de mots, il suffit de mettre {type=^[_multirubricage]} au lieu de {type=_multirubricage} et de faire commencer le titre des groupes de mots par "_multirubricage".

Remarque
Variante qui utilise un SET/GET :

<!-- boucle des articles issus d'autres rubriques par simulation de multirubricage -->
#SET{ci_mots, #ARRAY{}}
<BOUCLE_mot_multirubricage(MOTS){id_rubrique}{type=_multirubricage}>
[(#SET{ci_mots, #GET{ci_mots}|push{#ID_MOT}})]
</BOUCLE_mot_multirubricage>

<BOUCLE_article_multirubricage (ARTICLES){id_mot IN #GET{ci_mots}}{par date}{inverse}>
<div>
<a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a>
<p>[(#INTRODUCTION)]</p>
</div>
</BOUCLE_article_multirubricage>

P.-S.

Voir aussi le plugin Polyhierarchie

Dernière modification de cette page le 14 novembre 2016

[bruno sanchiz]