Boucle Documents récursive

Réaliser une boucle récursive sur des documents attachés à un article.

Si vous avez quelques petites lacunes, consultez la page consacrée aux boucles récursives sur www.spip.net.

Ici, nous souhaitons afficher 2 documents par ligne de tableau.
Nous nous aiderons de la boucle DOCUMENTS.

Document 1 | Document 2

Document 3 | Document 4

Document 5 | Document 6

etc...

<B_docs>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<BOUCLE_docs(DOCUMENTS){id_article}{0,2}{doublons}> 
<td align="center" valign="top">
<p>[(#LOGO_DOCUMENT|#URL_DOCUMENT)] <br />[(#TITRE)] :: [(#TAILLE|taille_en_octets)] [(#DESCRIPTIF)]</p>
</td>
</BOUCLE_docs>
</tr>
<BOUCLE_docs_suite(BOUCLE_docs)></BOUCLE_docs_suite>
</table>
</B_docs> 


-  On réalise un table en html avec les tags qui vont bien.
<table ...>  (Début de la table)
  <tr ...>     (Début d'une ligne)
    <td ...>     (Début d'une colonne)
             Contenu du tableau
    </td>    (Fin d'une colonne)
  </tr>       (Fin d'une ligne)
</table>   (Fin de la table)

-  Ce que nous souhaitons, c’est faire une récursivité sur la colonne de notre tableau. Plaçons notre boucle DOCUMENTS entre le tag <tr> et <td >. Fermer ensuite votre boucle et le tableau html.

<table ...>
<tr ...>
<BOUCLE_docs(DOCUMENTS){id_article}{0,2}{doublons}> 
    <td ...>   (Début d'une colonne)
            Contenu du tableau
    </td>     (Fin d'une colonne)
</BOUCLE_docs>
</tr>
</table>

Détails de la BOUCLE
-  Nous plaçons le critére {0,2} pour n’afficher que deux documents par ligne de tableau.
-  Pour éviter de re-sélectionner des éléments déjà affichés ! Nous ajoutons le critére {doublons}.
Si ce critére est omis, la boucle sélectionnera les deux premiers éléments a afficher. La boucle récursive tourne alors à l’infinie.
(Big up gouarfig)

<BOUCLE_docs_suite(BOUCLE_docs)></BOUCLE_docs_suite>
</table>  (Fin de la table)
</B_docs> 

-  Placez votre boucle récursive avant la fermeture votre tableau </table>
-  Rajoutons ensuite le code optionnel <B_docs >, </B_docs> (syntaxe optionnelle doc de référence) au début et à la fin de notre code.

Cette boucle récursive est inspirée de la boucle d’affichage des langues sur la page d’accueil de www.spip.net.

Ici, nous effectuons une récurisivité sur la boucle DOCUMENTS.
Vous pouvez l’adapter à vos besoins en utilisant les boucles ARTICLES, RUBRIQUES, etc...

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom