Salut tout le monde,
J’ai une question concernant la pagination.
Dans mon appli, j’ai des Galleries. J’ai plusieurs contrôleurs du genre
“latest”, “best”, “favorites”, etc. Dans chaque contrôleur, je crée une
pagination, chaque fois avec des conditions différentes, en fonction de
ce que je sélectionne (les dernières galeries, les galeries les mieux
notées, etc.).
Sur le site, j’ai un formulaire pour filtrer le contenu. Dans ce
formulaire, il y a:
1 choix en 3 boutons radios: "afficher tout" | "uniquement les
voitures" | "uniquement les avions"
1 case à cocher: "uniquement avec vidéos"
Quand le visiteur clique sur le bouton “Filtrer”, je voudrais que la
liste actuellement affichée se recharge avec Ajax. Dans l’ensemble, pas
de souci, Ã part que je dois refaire un @gallerie_pages avec les bonnes
conditions. Alors j’ai commencé à fouiller et j’obtiens diverses valeurs
qui m’aideront à recréer le bon paginator:
<%=
@gallerie_pages.current.number # le numéro de la page actuelle
@gallerie_pages.current.paginator.items_per_page # le nombre
d'éléments sur la page actuelle
request.query_parameters # les paramètres éventuels dans l'URL
request.request_parameters['controller'] # le contrôleur chargé
request.request_parameters['action'] # l'action déclenchée
User.current_user.filter # le filtre enregistré pour le visiteur
(tout, voitures ou avions uniquement)
User.current_user.movies_only # si le visiteur a coché la case
"vidéos uniquement"
%>
Seulement… Ca me parait très complexe, ce que je fais! Je suis sûr
qu’il y a moyen de faire beaucoup plus simple mais je ne trouve pas
comment.
Donc en bref, ce que je veux faire c’est reprendre le paginator actuel,
changer ses conditions en fonction du filtre et le recharger à la page
actuelle. Après je charge un partial en Ajax qui remplace la liste de
galeries actuelles en retirant ou ajoutant diverses galeries, fonction
du filtrage sélectionné.
Merci d’avance pour votre aide toujours bien utile! Vivement que je
puisse aider tout autant…
Michael