Accueil > SPIP > Boucle > Afficher plusieurs fois un même objet SPIP

Afficher plusieurs fois un même objet SPIP

dimanche 19 décembre 2010, 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>

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.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)