Se encuentra usted aquí

Hoy vamos a ver una receta sobre cómo crear una tabla en Drupal y añadirle paginación. Todo mediante código, usando la API que nos ofrece. Si nunca has usado este sistema, te vas a sorprender de lo fácil que es hacer algo que se suele atragantar en otros frameworks y acaba dando pereza. En cambio, si ya eres un Drupalero, espero poder enseñarte algo nuevo.

Preparando la consulta a la base de datos

No nos vamos a complicar demasiado en cómo crear un módulo, o cómo hacer una plantilla. Al grano, ésta sería una consulta sencilla a la base de datos. En este ejemplo vamos a pedirle a Drupal que nos saque todos los nodos que se hayan creado en la base de datos usando la función db_select (normalmente usaríamos node_load o node_load_multiple para cargar los nodos, pero no es el objetivo de este tutorial).

Nos devolverá un array con todos los nodos:

¡Primer paso conseguido! :)

Creando la tabla

Drupal tiene varias maneras de generar el HTML de nuestros sitios, en esta ocasión voy a usar un Render Array con el sistema de tablas que trae este sistema:

Por simplificar el ejemplo, no estoy usando el sistema de traducción de Drupal, t(), ya lo veremos en otra ocasión. Lo importante es que veas lo que hemos generado con unas pocas lineas de código:

Nada más que nos falta añadir el contenido. Vamos a rellenar ese $rows con los datos que nos había devuelto la base de datos:

Refrescamos el navegador y...

¡Funciona! :-)

Añadiendo la paginación

Ahora viene lo más divertido. No queremos mostrar cientos de nodos en una tabla infinita, queremos añadir una paginación debajo de la tabla. Simplemente tenemos que añadirle dos lineas a nuestra consulta a la base de datos. En este ejemplo, para que los pantallazos no sean muy grandes, pondré un límite de 5 nodos por página.

Y ahora nada más que nos queda añadir la paginación bajo nuestra tabla:

¡Ya está!, ¡refrescamos el navegador y listo!, Drupal se encarga del resto:

Conclusión

Como ves, añadir la paginación es cuestión de añadir 5 lineas de código. Muchas veces me cuesta explicar, a alguien acostumbrado a escribir código con frameworks directamente, el por qué uso Drupal y no cualquier otra solución.

Cuesta hacer ver Drupal como un potente framework lleno de baterías cargadas, en lugar de un simple gestor de contenido, pero lo cierto es que es increíble el ahorro de tiempo, una vez aprendes a usarlo.

¡Espero que hayas disfrutado de este pequeño tutorial!

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.