La clase de paginación Pager de Pear es una clase de paginación PHP muy útil. Es altamente escalable y puede adaptarse a las necesidades de diversas situaciones de paginación. Al menos en mis proyectos grandes y pequeños en los últimos años, básicamente no he escrito código adicional para la paginación. , todos usan Pager, lo que muestra la gran usabilidad de Pager. Usemos el código para ver sus ejemplos de uso:
Ejemplo 1.
TEXTO SENCILLO
PHP:
<?php
require_once'Pager/Pager.php';
$params=matriz(
'modo' =>'Saltar',
'por página' =>3,
'delta' =>2,
'itemData' =>array('a','b','c','d','e',[...omissis...],'z')
);
$paginador= & Buscapersonas::factory($params);
$datos =$buscapersonas->getPageData();
$enlaces=$buscapersonas->getLinks();
//$links es una matriz ordenada+asociativa con enlaces 'atrás'/'páginas'/'siguiente'/'primero'/'último'/'todos'
//NB: $links['all'] es lo mismo que $pager->links;
//enlaces de eco a otras páginas:
echo$enlaces['todos'];
//El buscapersonas también puede generar etiquetas <link rel="first|prev|next|last">
echo$pager->linkTags;
//Mostrar datos de la página actual:
echo'DATOS PAGINADOS: ';print_r($datos);
//Resultados de los métodos:
echo'getCurrentPageID()...: ';var_dump($pager->getCurrentPageID());
echo'getNextPageID()......: ';var_dump($pager->getNextPageID());
echo'getPreviousPageID()..: ';var_dump($pager->getPreviousPageID());
echo'numItems()....: ';var_dump($pager->numItems());
echo'numPages().....: ';var_dump($pager->numPages());
echo'isFirstPage()....: ';var_dump($pager->isFirstPage());
echo'isLastPage()..........: ';var_dump($pager->isLastPage());
echo'isLastPageComplete().: ';var_dump($pager->isLastPageComplete());
echo'$paginador->rango....: ';var_dump($paginador->rango);
?>
Al usar Pager, puede manejar muchas situaciones de paginación ajustando los parámetros de la matriz $param. La matriz $links en el código contiene algunos enlaces, como página anterior/número de página/página siguiente/primera página/última página/todos. Ejemplo
2
Hoy en día, muchos sitios web utilizan reglas de reescritura para convertir páginas dinámicas en páginas estáticas por motivos de SEO, como la siguiente configuración de .htaccess:
RewriteEngine en
#Opciones SeguirEnlaces simbólicos
ReescribirBase /
RewriteRule ^articles/([az]{1,12})/art([0-9]{1,4}).html$ /article.php?num=$2&month=$1 [L]
Incluso en este En En este caso, la paginación del buscapersonas todavía tiene una forma de funcionar; consulte el código a continuación
TEXTO SIMPLE
PHP:
<?php
require_once'Pager/Pager.php';
//primer buscapersonas
$params1=matriz(
'por página' =>3,
'urlVar' => pageID_articles, //1er identificador
'itemData' =>$algunamatriz
);
$paginador1= & Buscapersonas::factory($params1);
$datos1 =$paginador1->getPageData();
$enlaces1=$paginador1->getEnlaces();
//segundo buscapersonas
$params2=matriz(
'por página' =>8,
'urlVar' => pageID_news, //segundo identificador
'itemData' =>$algunOtroArray
);
$paginador2= & Buscapersonas::factory($params2);
$datos2 =$paginador2->getPageData();
$enlaces2=$pager2->getEnlaces();
?>
Al configurar $param, puede asignar el enlace "/articles/march/art15.html" al enlace "/article.php?num=15&month=march", lo que muestra
una escalabilidad más flexible.
Para ser justos, la escalabilidad de la clase Pager también es buena. Por ejemplo, la clase de paginación basada en rutas previamente escrita: Pager::Pathing(), este método se extendió desde Pager y satisfizo las necesidades en ese momento
. Publicado el 22 de septiembre de 2006 a las 7:16 am
Información de derechos de autor: puede reimprimir cuando lo desee. Al reimprimir, asegúrese de indicar la fuente original y la información del autor del artículo y
el enlace permanente de esta declaración en forma de hipervínculo. - http://www.ooso.net/index.php/archives/250