je butte toujours sur la pagination d’un tableau d’affichage des résultats d’un formulaire…
la pagination semble fonctionner, la page affiche les boutons de pagination et les n premieres lignes du tableau, mais quand on clique sur une page, l’URL est bien calculée, mais le contenu reste celui de la première page…
ex: ces deux URL renvoient la même chose
comme si le paramètre « debut_reponses » n’était pas compris…
j’ai relu le code du modèle de nombreuses fois sans trouver
C’est une inclusion ?
Il faut lui passer l’environnement utile
Par exemple avec un argument env qui passe tout mais peut du coup allourdir inutilement le cache : <INCLURE{fond=inclure/reponses_formulaire, id_formulaire, env} />
Ou bien en ne passant que ce qui fait défaut : <INCLURE{fond=inclure/reponses_formulaire, id_formulaire, debut_reponses} />
merci
c’est un modèle inclus dans un article. la pagination est sur la boucle des réponses du formulaire dans le modèle.
Dans la partie privée, tout va bien, la pagination avance normalement
Mais dans la partie publique, la première page s’affiche, avec les premières lignes du tableau et les boutons de navigation, mais quand on veut utiliser la pagination, on se retrouve avec la même URL et le paramètre « &debut_reponses= », ce paramètre n’est pas pris en compte et le tableau affiche les mêmes premières lignes qu’avant, d’ailleurs les boutons de pagination reste sur la première page…
les URL suivantes affichent la même chose:
://lepcf.fr/test-5583
://lepcf.fr/test-5583?debut_reponses=30#pagination_reponses
Mais ce mécanisme de pagination n’est pas géré dans le modèle, mais il me semble en regardant en debug, dans un squelette bottstrap « plugins/auto/bootstrap/v2.2.0/bootstrap2spip/modeles/pagination_page_precedent_suivant.html »…
PS… je croyais qu’on pouvait mettre du code dans un message de ce forum avec <code>, mais quand j’essaie, il ne veut pas afficher les boucles ? dès que je ferme <DIV le crochet, le mot disparait dans l’affichage ? </code>
Pour afficher du code ce n’est pas <code> mais des backticks qu’il faut, ou alors simplement utiliser l’outil proposé dans la bourre d’outils </> qui met entre backticks "` " le texte sélectionné.
Edit : j’ai édité ton message pour faire apparaître les balises <code> et </code> que tu y a mises.
OK c’est un modèle, mais la balise #TEXTE qui permet l’affichage d’un texte contenant ce modèle est bien contenue dans un fichier squelette .html, et donc ma remarque concerne l’inclusion de ce squelette. (Ou « les balises » / « des fichiers squelettes .html » / « ces squelettes » )
<BOUCLE_formulaire(FORMULAIRES){id_formulaire}>
#SET{exclure_champs,#ARRAY{cle1,email_1,cle2,input_2,cle3,case_1,cle4,case_2,cle5,textarea_1}}
<div class='formidable_analyse'>
[(#REM) Boucle sur réponses puis sur champs, sans ceux qui sont à ne pas prendre en compte]
<B_reponses>
<h2>[(#GRAND_TOTAL|objet_afficher_nb{signature})] en ligne au [(#DATE|affdate)]</h2>
[(#ANCRE_PAGINATION)]
<table class="spip">
[<nav class='pagination' role='navigation'>(#PAGINATION)</nav>]
<tr class="row_first">
<th><b>Date</b></th><th><b>Nom</b></th><th><b>Prénom</b></th><th><b>Commune</b></th><th><b>Code Postal</b></th>
</tr>
<BOUCLE_reponses(FORMULAIRES_REPONSES) {id_formulaire}{!par date}{pagination #ENV{nbparpage}}>
<tr>#SET{datesaisie,#DATE|affdate{'Y-m-d'}}
<td>#GET{datesaisie} </td>
<BOUCLE_champs(FORMULAIRES_REPONSES_CHAMPS){id_formulaires_reponse}{!nom IN #GET{exclure_champs}}>
<td>[(#VALEUR|ucfirst)] </td>
</BOUCLE_champs>
</tr>
</BOUCLE_reponses>
</table>
</B_reponses>
</div>
</BOUCLE_formulaire>
merci beaucoup… je ne comprends pas tout à la fin de ton deuxième message.
mais c’est corrigé en passant env dans le dernier INCLURE du squelette.
Ensuite, il me semble que tu demandes qu’une balise ?
ce qui n’était pas le cas du squelette article de sarkaspipr
cela dit, c’est le fait de passer env qui corrige, on peut ne pas mettre le />
dans le squelette sarka, certains INCLUDE sont fermés avec un simple > et d’autres avec />… je ne trouve pas quelle est la différence.
dans la doc spip, la page INCLURE n’utilise pas le />, mais la page INCLURE avec paramètres mets systématiquement />…
c’est la différence ? paramètres ou pas?
Dans SPIP il n’y a pas de différence fonctionnelle à mettre /> ou pas et ce choix d’écriture n’était pas significatif dans ma réponse. C’est juste que ça signifie au lecteur attentif comme tu l’as été, ou à un éditeur de code informatique paramétré pour, que la balise <INCLURE> en tant que tag n’est pas suivie d’un tag fermant </INCLURE>. C’est lié aux conventions du standard XHTML pour les void elements comme <br/>, <hr/>, <img src="uneimage.jpg /> etc.