Afficher plusieurs fois un même objet SPIP

, par Maïeul

Dans le cadre d’un projet associatif, je me sert de SPIP pour gérer une base de donnée. Cette base de donnée contient un certain nombre d’objets — des cartes de jeux en fait, que j’ai « traduites » en SPIP par des articles — que j’ai besoin d’afficher plusieurs fois. Le nombre d’affichages nécessaires est propre à chaque cartes / articles.

Pour arriver à mes fins, voici comment j’ai fait :

  • J’ai ajouté un champ extra nombre à la table articles.
  • Dans ce champ je précise le nombre de fois où je souhaite afficher un article. C’est donc un champs de type INT.
  • J’utilise ensuite le plugin SPIP-Bonux pour boucler sur un tableau PHP que je génère grâce à la fonction array_fill() de PHP. Ce tableau contient #NOMBRE fois la valeur ''.
  • A l’intérieur de cette boucle, je peux récupérer les informations de l’article directement avec les balise #CHAMP dont SPIP reconnaitra qu’elle font allusion à la boucle « mère ».

Cela nous donne donc :

<BOUCLE_article(ARTICLES)>
	
	<BOUCLE_repeter(POUR){tableau #VAL{0}|array_fill{#NOMBRE,''}}>
		J'affiche le titre de l'article #TITRE qui porte le numéro #ID_ARTICLE etc. <br />
	</BOUCLE_repeter>

</BOUCLE_article>

P.-S.

Le code exposé ici n’est pas tout à fait celui que j’utilise pour mon projet, car dans celui-ci je dois mélanger de manière aléatoire les différents articles. Je passe donc par un tableau global que je remplis des valeurs des #ID_ARTICLE le nombre de fois nécessaires.