Documentation PHPBoost 3

Le systeme de pagination

Pour la mise en place des paginations :
On dois importer la page de la class.
On dois instancier la class.
On limite une lecture sql.
On passe dans en variable tpl les infos.

Modèle : galery.php


Importation de la classe :



Ici a la ligne 304 on importe et initialise l'objet :
Code PHP :
//On crée une pagination si le nombre de catégories est trop important.
import('util/pagination');
$Pagination = new Pagination(); 

La première ligne fait un include_once() du fichier dans le kernel qui contien la classe.
La deuxième ligne instancie la classe.


Passage dans le système de template :



Dans le passage au template on affiche le résultat de la fonction display() de la classe pagination
ici a la ligne 342 :
Code PHP :
'PAGINATION' => $Pagination->display('gallery' . url('.php?p=%d&cat=' . $g_idcat . '&id=' . $g_idpics . '&' . $g_sort, '-' . $g_idcat . '-' . $g_idpics . '-%d.php?&' . $g_sort), $total_cat, 'p', $CONFIG_GALLERY['nbr_pics_max'], 3), 


Les information nécessaire a cette fonction sont :
display($path,$total_msg,$var_page,$nbr_msg_page,$nbr_max_link,$font_size=11,$previous_next=true,$link_start_page=true)
$path ==> URL complète de la page.
$total_msg ==> nombre total resultat d'un comptage sql.
$var_page ==> name de $_GET (en général 'p').
$nbr_msg_page ==> nombre de message a afficher par page.
$nbr_max_link ==> nombre de lien maximum afficher dans la ligne de pagination.
$font_size (optionel par défaut =11) ==> [0-9]
$previous_next (optionel par défaut = true) ==> true false
$link_start_page (optionel par défaut = true) ==> true/false


Pagination et limite de la lecture sql :



Dans la lecture de la base de donée, la pagination so positionne dans la limitation.
On fait appel a la fonction get_first_msg().
Ici a la ligne 409 :
Code PHP :
" . $Sql->limit($Pagination->get_first_msg($CONFIG_GALLERY['nbr_pics_max'], 'p'), $CONFIG_GALLERY['nbr_pics_max']), __LINE__, __FILE__);


Les informations pour cette fonction sont :
get_first_msg($nbr_msg_page,$var_page)
$nbr_msg_page ==> nombre de message a afficher par page.
$var_page ==> name de $_GET (en général 'p').


Dans les lignes suivantes on recommence l'opération pour des conditions autre que la pagination.
La récupération de la page a consulté est récupérer par la fonction display().
Une fois ces élément en place la pagination est fonctionnelle.
il n'y a pas d'autre élément a traiter en php.
il faut placer la balise tpl PAGINATION et les liens apparaitrons.
Cette page a été vue 3042 fois