Página 1 de 1

Paginación y ordenamiendo  Tema Solucionado

Publicado: 19 Oct 2014, 15:35
por towen

En ocasiones alguna modificación que hagamos puede requerir mostrar una gran cantidad de información en pantalla, que no sería conveniente mostrarla toda de una vez sino organizarla por páginas. Afortunadamente phpBB trae las herramientas adecuadas para construir una paginación muy efectiva con relativamente pocos pasos. En este artículo planeo explicar el uso de las funciones on_page y generate_pagination que son precisamente las que crean la paginación, también pondré un ejemplo de una página personalizada para ver las funciones en acción y explicando como construir un sistema de ordenamiento, todos los pasos van a ser explicados en el código.

Comencemos.... Las funciones

Código: Seleccionar todo

generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = false, $tpl_prefix = '')

Argumentos $base_url (cadena)

La url de la página a la que enlaza la paginación, normalmente es la misma página activa. Se le debe haber pasado la función append_sid

$num_items (entero)

El total de elementos que se mostrarán.

$per_page (entero)

La cantidad de elementos que se mostrarán por página.

$start_item (entero)

El elemento desde donde se comienza a contar para mostrar

$add_prevnext_text (booleano)

Por defecto false, si es true muestra también dos botones para pasar a las páginas anterior y siguiente (siempre que no se esté en la primera o última página respectivamente o que solo sea una página)

$tpl_prefix (cadena)

Por defecto una cadena vacía, es el prefijo que se utilizará en las variables del estilo en caso de que existan mas de una paginación distinta en una página. Normalmente no es necesario utilizarlo.

Devuelve Devuelve una cadena que contiene la paginación para ser asignada a las variables para las plantillas( con $template->assign_vars() ). También crea las siguientes variables para las plantillas que son utilizadas en la función JavaScript jumpto() (el {PREFIJO} es el que se le pasa a la función como último parámetro): {PREFIJO}BASE_URL

La URL de la páginación, es igual al primer argumento pasado a la función

A_{PREFIJO}BASE_URL

La misma URL anterior pero pasándole la función addslashes para se usado en los JavaScript

{PREFIJO}PER_PAGE

El valor del tercer argumento de la función

{PREFIJO}PREVIOUS_PAGE

Un enlace a la página anterior

{PREFIJO}NEXT_PAGE

Un enlace a la página siguiente

{PREFIJO}TOTAL_PAGES

El total de páginas que tiene la paginación


on_page($num_items, $per_page, $start) Argumentos $num_items (entero)

El total de elementos que se mostrarán.

$per_page (entero)

La cantidad de elementos que se mostrarán por página.

$start (entero)

El elemento desde donde se comienza a contar en esa página

Devuelve Devuelve una cadena con un texto indicando la página donde se encuentra y el total de páginas. También crea la siguiente variable para las plantillas utilizada en la función JavaScript jumpto() ON_PAGE

La página de la paginación en la que se encuentra actualmente

Ejemplo El ejemplo del uso de las funciones se encuentra en el adjunto siguiente, todos los archivos y todos los pasos están comentados. Para verlo funcionando copiar el contenido del adjunto en el índice del foro y luego acceder a el desde la url http://tu_foro/test.php

Paginación y ordenamiento.rar
(3.13 KiB) Descargado 138 veces