Usar el paginado de moodle

Usar el paginado de moodle

de Jonathan Bailon Segura -
Número de respuestas: 3
Hola a todos.

Estoy obteniendo el resultado, de una consulta de la base de datos, después los meto en una tabla, el problema es que estos resultados en ocasiones sobre pasan los 100, así que me gustaría paginar los para presentarlos mas legibles y elegantemente.
Alguien sabe como hacer la paginación mediante las funciones de Moodle?

Cualquier comentario seria de gran ayuda gracias. sonrisa
Promedio de valoraciones: -
En respuesta a Jonathan Bailon Segura

Re: Usar el paginado de moodle

de Raul Garcia Canet -
Hola Jonathan,

La función que buscas es:

function print_paging_bar($totalcount, $page, $perpage, $baseurl, $pagevar='page',$nocurr=false, $return=false)

Está definida en moodle/lib/weblib.php

Hasta pronto,
Salu2.
J. Raul (juagarc4) B-)
En respuesta a Raul Garcia Canet

Re: Usar el paginado de moodle

de Jonathan Bailon Segura -
Hola Juan Muchas gracias, una pregunta mas, como puedo pasarle el paginado a el arreglo que ya tengo establecido con los usuarios, o desde mi consulta SQL.
En respuesta a Jonathan Bailon Segura

Re: Usar el paginado de moodle

de Raul Garcia Canet -
Hola jonathan,

Disculpa por el retraso, no había visto el mensaje.

No se si entiendo tu pregunta:
¿Tienes un arreglo hecho con los usuarios?, ¿pero con que datos de los usuarios, sus id, sus nombres...?

Creo que eso va a ser algo más complicado.
Echa un vistazo en el fichero /moodle/user/index.php, ha cia la línea: 615 (depende de la versión de moodle), empieza así:

if ($fullmode) { // Print simple listing
if ($totalcount < 1) {
print_heading(get_string('nothingtodisplay'));
} else {
if ($totalcount > $perpage) {

$firstinitial = $table->get_initial_first();
$lastinitial = $table->get_initial_last();
$strall = get_string('all');
$alpha = explode(',', get_string('alphabet'));

 // Bar of first initials

echo '<div class="initialbar firstinitial">'.get_string('firstname').' : ';
if(!empty($firstinitial)) {
echo '<a href="'.$baseurl.'&amp;sifirst=">'.$strall.'</a>';
} else {
echo '<strong>'.$strall.'</strong>';
}
foreach ($alpha as $letter) {
if ($letter == $firstinitial) {
echo ' <strong>'.$letter.'</strong>';
} else {
echo ' <a href="'.$baseurl.'&amp;sifirst='.$letter.'">'.$letter.'</a>';
}
}
echo '</div>';


Y termina en (línea 654 aprox) con:

echo '</div>';
print_paging_bar($matchcount, intval($table->get_page_start() / $perpage), $perpage, $baseurl.'&amp;', 'spage');


Este código escribe las dos líneas del abecedario que aparecen en el listado de participantes, esas que ponen:

Nombre : Todos A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
Apellido : Todos A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z


Quizás esto te ayude a montar lo que necesitas.
Siento no poder ayudarte más, pero sin saber como tienes el arreglo es un poco difícil.

Hasta pronto,
Salu2
J. Raul (juagarc) guay