[Résolu] générer un tableau dans un modèle

bonjour,

je butte sur une difficulté de mise sous forme de tableau de données issues d’un formulaire… j’ai fait ce petit modèle qui affiche les données souhaitées en ajoutant entre elles un |…

<BOUCLE_reponses(FORMULAIRES_REPONSES){id_formulaire}{!par date}>
#SET{datesaisie,#DATE|affdate{‹ Y-m-d ›}}
| #GET{datesaisie} |
<BOUCLE_champs(FORMULAIRES_REPONSES_CHAMPS){id_formulaires_reponse}{nom ?= #ENV{nom}}{!nom IN #GET{exclure_champs}}>
#VALEUR |
</BOUCLE_champs>


</BOUCLE_reponses>

le résultat est correct, sauf que qqchose empeche spip de le considérer comme un tableau au moment de l’affichage.

Pourtant si je prends le résultat et que je le copie comme texte dans un article… le tableau fonctionne…

merci d’avance d’une idée…

Dans ton modèle il faudrait que tu utilises le balisage html du tableau et non les pipes
donc ouvrir la ligne avec <tr> et la cellule avec <td>
Si j’ai bien suivi ça donnerait
<tr><td> #GET{datesaisie} </td>
<BOUCLE_champs(FORMULAIRES_REPONSES_CHAMPS){id_formulaires_reponse}{nom ?= #ENV{nom}}{!nom IN #GET{exclure_champs}}>
<td>#VALEUR </td></tr>

merci, c’était simple !
la syntaxe des pipes est pour créer un tableau dans le texte
et dans un modèle, c’est du html
bon, il faudrait que je travaille un peu les css…

Super ! Je ne l’ai pas mentionné mais il faudrait aussi encadrer le tableau avec les balises table, éventuellement avec la classe spip
<table class="spip">
et fermer plus loin </table> ça améliorera peut-être déjà les css :slight_smile:

j’avais pensé à la balise table avec la class spip!
pour les styles, le standard me va pour l’instant

par contre, j’en profite, je n’arrive pas à mettre la pagination
Je mets {pagination 20} dans la boucle, et la balise #PAGINATION en sortie de boucle, avec ou sans ANCRE_PAGINATION en début

il y a bien une pagination mais avec les indices disposés verticalement, et quand je clique sur la page 2, tout l’article se réaffiche et le tableau… disparait complètement…

?

Pour les indices qui apparaissent verticalement sans doute faut-il utiliser la syntaxe de la pagination depuis SPIP 4

[<nav role="navigation" class="pagination">(#PAGINATION)</nav>]

Pour le reste je ne sais pas…

merci,
la mise ne page fonctionne comme ca et en faisant attention à la bonne écriture des balises…
mais dans la partie publique, la pagination n’avance pas, alors qu’elle avance dans la partie privée…

url donne le même resultat que url?debut_reponses=10#pagination_reponses

une idée d’ou chercher ?

je réalise que je ne connais pas un filtre: « ?= » utilisé par le modèle formidable formulaire_analyse dans la boucle sur les champs des réponses avec:
{nom ?= #ENV{nom}}
je ne trouve pas « ?= » dans la doc spip, et pas d’opérateur php non plus
et il semble que si je l’enlève dans la boucle, ca ne change rien…

et je ne vois aucune variable nom dans #ENV

merci d’avance d’une piste…

C’est un Critère optionnel avec opérateur, documenté là : Critères optionnels avec opérateurs - Programmer avec SPIP 4 (rappel d’une contrainte : les 2 opérandes de l’opérateur doivent avoir le même nom de champ et variable)

Complémentaire des critères optionnels simples, documentés là : {critère ?} - SPIP

Dans les 2 cas, ces critères ne s’appliquent que si la variable d’environnement citée est présente / définie dans le contexte courant.

merci, donc je peux m’en passer…
et ce n’est pas la cause de mon pb de pagination