lunes, 22 de enero de 2018

Laravel DataTables 3

En la entrada anterior he explicado el uso básico, y espero que haya quedado lo bastante claro, al menos para desarrolladores con algo de experiencia en Laravel. A partir de aquí podemos pasar a temas más concretos, y sobre los que costará más encontrar documentación y ejemplos.

Creo que lo primero que se necesitaría meter en una de estas tablas, al menos dentro de un panel de gestión, serían las acciones por fila. Los típicos botones o enlaces de modificar, eliminar, deshabilitar, seleccionar, etc. cada entrada.

Esta no es una información que forme parte de la base de datos. En PHP se suele meter el HTML necesario en cada bucle de la tabla, inyectándole el ID de cada entrada. ¿Laravel DataTables facilita este aspecto? ¡Y tanto!

Durante la creación del objeto DataTables podemos crear columnas al vuelo, con el método addColumn. Se le especifica un nombre de columna (uno cualquiera) y un contenido. Este puede ser HTML escrito a mano, o puede ser una vista Blade.

DataTables::of($tabla)->addColumn('acciones', 'tablas.tabla-acciones');


Dentro de la vista se pueden utilizar, como variables, las columnas de la fila actual. Sin más.

<a href="editar.php?id={{ $id }}">Editar {{ $nombre }}</a>
<a href="{{ route("tabla.informe", ["id" => $id]) }}">Informe</a> 


Un detalle bastante importante en Javascript sería excluir esta columna de las búsquedas y reordenamiento.

{ data: 'acciones', orderable: false, searchable: false }


En el próximo capítulo: qué hacer con tablas relacionadas. No se preocupe: saldrá muy pronto.

No hay comentarios:

Publicar un comentario