[Résolu] Afficher les articles issues de rubriques différentes qui ont le même titre

Bonjour,

Je ne suis pas sûr que cela soit possible, mais dans le doute, j’aimerais pouvoir afficher une liste d’articles issus de différentes rubriques à partir d’un critère de correspondance de titre de rubrique.

J’ai regardé dans la documentation, mais je n’ai rien trouvé de probant.

A toute fin utile, je suis en SPIP 3.2.15

Mon bout de code assez simple :

<B_articles>
<ul>
<BOUCLE_articles (ARTICLES) {titre_parent == #ENV{_mon_texte}}>
<li><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
</B_articles>

Le critère titre_parent n’existe pas, mais c’est pour illustrer ce que je cherche.

Si quelqu’un a une idée pour me permettre de faire cela, je suis preneur de toute information :wink:.

Je pense bien avancer sur ma problématique.

Mon code :

<BOUCLE_rubrique(RUBRIQUES){titre==7}>
	<h1>#TITRE</h1>
	<ul class="no-bullet">
		<BOUCLE_articles(ARTICLES){id_rubrique}>
		<li><a href="#URL_ARTICLE">#TITRE</a> - #INFO_TITRE{rubrique,#ID_RUBRIQUE}</li>
		</BOUCLE_articles>
	</ul>
</BOUCLE_rubrique>
<//B_rubrique>

Par contre, cela me récupère touts les titres de rubrique où il y a un « 7 » (paramètre que j’ai fixé en dur pour simplifier mon exemple), et je ne parviens pas à trouver la syntaxe pour que ce soit strictement égal à « 7 ».

J’ai bien essayé cette syntaxe mais ça ne m’affiche rien du tout en résultat de boucle :

{titre==^[7]}

J’ai essayé de consulter des pages qui donnent des exemples d’expressions régulières (ex : www.zendevs.xyz/les-expressions-regulieres-en-php-regex) mais je n’ai pas encore trouvé la bonne syntaxe.

Un double égal (= =) introduit une comparaison selon une expression régulière.
{titre==7} va remonter toutes les rubriques dont le titre contient « 7 ».
Dans ton cas ce serait plutôt un simple égal (=) pour une égalité stricte, non ?

1 « J'aime »

J’ai bien essayé {titre=7} mais cela ne me ressortait aucun résultat.

En creusant un peu plus, je me suis rendu compte que l’égalité ne fonctionnait pas à cause des préfixes numérotés de mes titres.

Et en effet, en testant avec {titre==« 007. 7 »}, cela fonctionne. Il me suffit donc d’utiliser une expression régulière qui me permet de ne pas tenir du préfixe, à savoir :

{titre==" 7$"}

Top ! :grinning:

Tant mieux si c’est résolu :slight_smile:
Même si ça fait un peu « bidouille », si ça marche pour toi c’est l’eesentiel.

Je ne sais pas comment est organisé ton contenu, mais as tu jeté un oeil au plugin Polyhiérarchie ?

1 « J'aime »

Merci pour la découverte, je ne connaissais pas. Néanmoins, je pense que la hierarchisation de base de spip convient plutôt bien à la structure de mon contenu.

J’ai essayé de schématiser de manière fictive la structure de mon site pour mieux expliciter mon besoin :

  1. J’ai des rubriques qui peuvent avoir le même nom (inhérent au sujet traité par le site).
  2. J’ai des rubriques qui pré-sélectionnent des articles sur la base de champs extras et je donne la possibilité au visiteur d’affiner la sélection par le biais de filtres.
  3. Pour le filtre qui sélectionne les articles sur la base d’un nom de rubriques qui peut être identique entre plusieurs rubriques, il faut que je puisse garder tous les articles concernés.

Bonjour,

En complément, pour regrouper des contenus issus de différentes rubriques, il existe Sélections éditoriales :

et Grappes :

1 « J'aime »