Pagination + Critère de Recherche SPIP

Bonjour,
J’ai un site où je répertorie plusieurs associations qui ont différents types : sportives, culturelles, cultuelles, patriotiques etc…
On doit pouvoir cocher différents types et la recherche nous donne les associations qui rentrent dans ces types cherchés. J’ai mis une pagination sur le résultat mais lorsque je vais de page en page la recherche n’est pas sauvegardée…

Hello

Il nous en faudrait un peu plus : comment as-tu codé cette recherche ?
Une URL pour voir ?

J’ai ce formulaire avec des boutons radios ou l’utilisateur sélectionne le type d’association qu’il cherche (le site est visible à l’adresse suivante : www.toul.fr - Annuaire des associations):

[(#ENV{filtrer}|=={Filtrer}?{#SESSION_SET{cat_ev, #GET{cat_ev}},''})] #SET{cat_ev,#ARRAY} Types d'associations :
.color[(#ID_RUBRIQUE)]{ background-color: #[(#ID_RUBRIQUE|couleur_secteur)];color:#fff;}
                                            <div class="mb-1">
                                                <input style="width:inherit;" type="checkbox" aria-label="" name="choix#_mots_ev:ID_MOT" value="#_mots_ev:ID_MOT" [(#ENV{choix#_mots_ev:ID_MOT}|=={#_mots_ev:ID_MOT}?{'checked',[(#ENV{filtrer}|=={Valider}?{'','checked'})]})]>
                                                <span class="label p-1 rounded color[(#ID_RUBRIQUE)]">#_mots_ev:TITRE</span><br>
                                            </div>

                                                [(#ENV{choix#_mots_ev:ID_MOT}|=={#_mots_ev:ID_MOT}?{#SET{cat_ev, #GET{cat_ev}|push{#_mots_ev:ID_MOT}},[(#ENV{filtrer}|=={Valider}?{'',#SET{cat_ev, #GET{cat_ev}|push{#_mots_ev:ID_MOT}}})]})]
                                            
                                            </BOUCLE_rub_mot0>
                                            </BOUCLE_mots_ev>  
                                            <br>
                                            <label>Nom de l'association, Mot clé... :</label>
                                            <div class="input-group input-group-sm">
                                            <input type="[(#HTML5|?{search,text})]" class="form-control search text" name="recherche" id="#ENV{_id_champ}"[ value="(#ENV{recherche})"] accesskey="4" autocapitalize="off" autocorrect="off"/>
                                                <input class="btn btn-dark btn-sm" type="submit" name="filtrer" value="Valider" ></input>
                                            </div>
                                            
                                            <br>
                                            
                                        
                                            <br><br>
                                            
                                            </div><!-- /input-group -->
                                        </form>

Puis j’ai cette boucle qui renvoi la recherche sur laquelle il y a une pagination :
<B_association>
#ANCRE_PAGINATION
<BOUCLE_association(ASSOCIATIONS){par nom}{id_mot IN #GET{cat_ev}}{pagination 10}>

                                            <div class="ariane-dot mb-3 pb-3 cardAsso">
                                            #DEBUT_SURLIGNE 
                                                <BOUCLE_mots_label_ev(MOTS) {id_association=#ID_ASSOCIATION} {id_groupe=3}>
                                                    <BOUCLE_rub_mot(RUBRIQUES) {id_mot=#ID_MOT}{0,1}>
                                                    <style  type="text/css">
                                                        .color[(#ID_RUBRIQUE)]{
                                                        background-color: #[(#ID_RUBRIQUE|couleur_secteur)];color:#fff;}	
                                                    </style>
                                                        <span class="label color[(#ID_RUBRIQUE)] float-right p-1 rounded">#_mots_label_ev:TITRE</span>
                                                    </BOUCLE_rub_mot>
                                                </BOUCLE_mots_label_ev>
                                            
                                                [<div class="champ contenu_nom[ (#NOM*|strlen|?{'',vide})]">
                                                    <h4>(#NOM)</h4>
                                                </div>]
                                                
                                                
                                    
                                                [<div class="champ contenu_description[ (#DESCRIPTION*|strlen|?{'',vide})]">
                                                    <span dir='#LANG_DIR' class='#EDIT{description} description'>(#DESCRIPTION)</span>
                                                </div>]
                                                <br>
                                                <div class="btn-group float-right">
                                                [<a href ="(#SITE_WEB)" title="#SITE_WEB" target="blank"> <span class="btn btn-outline-dark liensAssociations p-1 me-1"><:association:champ_site_web_label:> </span></a>]
                                                [<a href ="mailto:(#MAIL)" title="Envoyer un mail à #MAIL"> <span class="btn btn-outline-dark liensAssociations p-1"><:association:champ_mail_label:></span></a>]
                                                </div>
                                                
                                                [<div class="">
                                                <label><b>Président :</b> </label>
                                                <br>
                                                [(#CPDT)] (#NPDT)  [(#PPDT)]
                                                </div>]
                                    
                                                [<div class="champ contenu_adr1[ (#ADR1*|strlen|?{'',vide})]">
                                                    <label><b>Adresse : </b></label>
                                                <br>
                                                    <span dir='#LANG_DIR' class='#EDIT{adr1} adr1'>(#ADR1)</span>
                                                </div>]
                                    
                                                [<div class="champ contenu_adr2[ (#ADR2*|strlen|?{'',vide})]">
                                                    <span dir='#LANG_DIR' class='#EDIT{adr2} adr2'>(#ADR2)</span>
                                                </div>]
                                    
                                                [<div class="champ contenu_ville[ (#VILLE*|strlen|?{'',vide})]">
                                                    <span dir='#LANG_DIR' >#CP</span>
                                                    <span dir='#LANG_DIR' class='#EDIT{ville} ville'>(#VILLE)</span>
                                                </div>]
                                                
                                            #FIN_SURLIGNE	
                                            
                                            </div> 
                                           
                                            
                                            </BOUCLE_association>
                                          #PAGINATION
                                         
                                           
                                    </B_association>

Le problème c’est que quand on clique sur d’autres pages avec cette pagination il ne prend plus en compte le paramètre de recherche. Par exemple, on veut les associations sportives on sélectionne sportives puis valider, ensuite on va tout en bas cliquer sur la page 20 et là tout les types sont sélectionnés il n’y a plus uniquement que les sportives mais tout types d’asso. En analysant, j’ai pu comprendre que lors de la pagination le POST n’est pas retransmis, donc tout est remis à 0 la valeur du formulaire utilisé pour la recherche n’est pas transmise aux pages suivantes. Mais je ne sais pas comment y remédier.

Visiblement tu as trouvé la solution car tout à l’air de fonctionner correctement maintenant.