Arxiu

Entrades etiquetades ‘Laravel’

Ordenar por columnas en Laravel 4 o cómo extender Laravel 4 a tu gusto

dissabte, 18 de gener de 2014 Comentaris desactivats

Si has trasteado o estás trasteando con Laravel 4 habrás notado que está algo verde. Entre varias cosas se echa en falta que no tenga una manera sencilla para poder ordenar los resultados por columnas.

Dado que yo vengo de CakePHP, me he inspirado en él para crear el sistema de ordenación por columnas, así que si en Cake podemos crear un enlace para ordenar así:

<tr>
    <th><?php echo $this->Paginator->sort('id') ?></th>
    <th><?php echo $this->Paginator->sort('name', 'Nom') ?></th>
    <th><?php echo $this->Paginator->sort('address', 'Adreça') ?></th>
</tr>

En este tutorial verás cómo hacer para poder ordenar así, utilizando blade (el sistema de plantillas por defecto de Laravel 4):

<tr>
    <th>{{ $posts->sort('id') }}</th>
    <th>{{ $posts->sort('name', 'Nom') }}</th>
    <th>{{ $posts->sort('address', 'Adreça') }}</th>
</tr>

laravel_paginate

Para poder hacer esto tendrás que extender el paginador de Laravel para añadirle las funciones que necesites (como sort).

Dado que lo que es ordenar en sí no tiene ninguna complicación y lo puedes encontrar documentado, en este tutorial me centraré más en cómo extender classes de Laravel 4 para adaptarlo a tus necesidades y de paso verás cómo tener la ordenación por columnas bien organizada (a nivel código) para mejor reutilización en futuros proyectos.

Nota: Debido al continuo desarrollo de Laravel este tutorial ha quedado rápidamente desfasado. He actualizado todos los enlaces para que funcionen correctamente pero ten en cuenta que algunos de estos ficheros han cambiado mucho o directamente ya no existen.

Llegir més…