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
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.