Effectivement, il faut passer l’environnement généré par ton form à ton inclure.
Le hic, c’est qu’il faut en plus que ce soit ‹ immédiat ›, or cela n’est faisable qu’avec en plus du javascript.
Je me suis amusée à te trouver la solution que voici
Ta page principale
<BOUCLE_rubriques(RUBRIQUES){id_rubrique}{tout}>
<h1><a href="#URL_RUBRIQUE">#TITRE N°#ID_RUBRIQUE</a></h1>
<!-- ajax sur le formulaire + id sur le button -->
<div class="ajax">
<form action="[(#URL_RUBRIQUE|parametre_url{_id_rubrique,#ENV{_id_rubrique}})]" method="post" id="consulter_actus">
<BOUCLE_actu_controleur(ARTICLES){0,1}>
<label for="rub_select">Rubrique</label>
<select name="_id_rubrique" id="rub_select">
<option value="">Sélectionner une rubrique</option>
<BOUCLE_selection(RUBRIQUES){profondeur=1}{par titre}>
[<option VALUE="[(#ID_RUBRIQUE)]"[(#ENV{_id_rubrique}|=={[(#ID_RUBRIQUE)]}|?{' selected="selected"',''})]>(#TITRE) N°#ID_RUBRIQUE</option>]
</BOUCLE_selection>
</select>
<button type='submit' class='button small' type='submit' id="bouton_form"><:bouton_filtrer:></button>
</BOUCLE_actu_controleur>
</form>
</div>
</BOUCLE_rubriques>
<INCLURE{fond=modeles/selection_articles,ajax,env, _id_rubrique, debut_page} />
<div>D'autres éléments dans la page</div>
le script qui récupère le choix du formulaire et agit sur la page principale
<script>
// force l'envoi de _id_rubrique dans l'environnement
document.getElementById('bouton_form').addEventListener('click', function() {
var rubriquechoisie = document.querySelectorAll("#rub_select option:checked");
var _id_rubrique = rubriquechoisie[0].value;
window.location.href = '[(#URL_RUBRIQUE)]&_id_rubrique=' + _id_rubrique;
event.preventDefault();
});
</script>
Et la page à inclure des articles paginés
Les articles de la rubrique N° [(#ENV{_id_rubrique,#ENV{id_rubrique}})] sont demandés
<B_page>
#ANCRE_PAGINATION
<ul>
<BOUCLE_page(ARTICLES){id_parent = #ENV{_id_rubrique,#ENV{id_rubrique}}}{par id_rubrique, num titre}{pagination}>
<li><a href="#URL_ARTICLE">#TITRE</a> - [(#INFO_TITRE{rubrique, #ID_PARENT})] - [(#INFO_TITRE{rubrique, #ID_RUBRIQUE})]</li>
</BOUCLE_page>
</ul>
[<nav role="navigation" class="pagination">(#PAGINATION{perso})</nav>]
</B_page>
J’ai simplifié pour que ce soit plus facilement compréhensible, le formulaire fonctionne sans le js vanilla mais, il faut dans ce cas envoyer le submit une seconde fois pour modifier l’url.