Manual:Pager.php/fr

La classe IndexPager fournit des fonctions utiles pour pour la pagination des résultats des champs d'une requête MySQL. La classe IndexPager est utilisée par exemple dans la page spéciale Spécial:Catégories.



Exemples d'utilisation
La première étape pour utiliser IndexPager dans votre extension de page spéciale est de créer une classe nommée par exemple  qui étend une de ces trois classes:


 * Utiliser  si vous voulez que vos résultats soient en ordre alphabétique
 * Utiliser  quand vous voulez que vos résultats soient dans un ordre chronologique inversé (le plus récent d'abord)
 * Utiliser  si vous voulez que vos résultats soient affichés dans des lignes d'un tableau

Chacune de ces trois classes (,  et  ) sont des extensions de la classe.

Normalement, vous ne devriez avoir à remplacer que quelques méthodes dans votre classe:


 * fournir la requête SQL que vous voulez exécuter au pager. Il devrait renvoyer un tableau associatif avec les éléments suivants:
 * tableau(x) utilisés dans la requête,
 * champ(s) à passer à Database::sélect, peut être * pour tous les champs dans le tableau,
 * un tableau contenant les conditions pour la clause WHERE (où),
 * un tableau contenant les autres options comme GROUP BY (grouper par).
 * obtient un argument,, qui est un objet ligne de l'ensemble de champs du résultat. La fonction devrait renvoyer une chaîne contenant l'item formaté comme nécessaire.
 * devrait renvoyer le nom du champ du tableau utilisé pour l'indexation et le tri des résultats.

Par exemple, si vous voulez lister toutes les pages dans le NSO avec un pager, vous devriez faire quelque chose comme ceci:

Dans le corps de votre page spéciale vous devez:
 * créer une nouvelle classe
 * utiliser la méthode  pour placer la barre de navigation en haut et en bas de la page
 * utiliser la méthode  pour mettre la liste des éléments.

Par exemple :

