Dominando la paginación en Laravel: Personalizando la visualización de enlaces con onEachSide()
- Publicado el 16 octubre, 2024
- Palabras: 256
Como desarrolladores de Laravel, a menudo trabajamos con grandes conjuntos de datos que requieren paginación. El sistema de paginación integrado de Laravel es potente y flexible, pero ¿sabías que puedes ajustar la cantidad de enlaces que se muestran? Profundicemos en el método onEachSide() y veamos cómo puede mejorar tu experiencia de paginación.

#Entendiendo la paginación predeterminada de Laravel
De manera predeterminada, cuando usas los enlaces de paginación de Laravel, verás algo como esto:
1 2 3 4 5 ... 10
Esta pantalla muestra la página actual, dos páginas de cada lado y luego salta a la última página. Pero, ¿qué pasa si quieres más (o menos) enlaces?
#El método onEachSide()
Laravel ofrece un método simple pero potente llamado onEachSide() que te permite controlar cuántos enlaces adicionales se muestran en cada lado de la página actual. Así es como se usa:
{{ $users->onEachSide(5)->links() }}
En este ejemplo, le indicamos a Laravel que muestre 5 enlaces en cada lado de la página actual. Por lo tanto, si estás en la página 6 de un conjunto de resultados de 20 páginas, es posible que veas algo como esto:
1 2 3 4 5 6 7 8 9 10 11 ... 20
#Ejemplo práctico
Veamos cómo se vería esto en un controlador y una vista de Laravel:
// UsersController.php
public function index()
{
$users = User::paginate(15);
return view('users.index', compact('users'));
}
// users/index.blade.php
<div class="users-list">
@foreach ($users as $user)
<div class="user-item">{{ $user->name }}</div>
@endforeach
</div>
<div class="pagination-links">
{{ $users->onEachSide(5)->links() }}
</div>
En este ejemplo, mostramos 15 usuarios por página y 5 enlaces en cada lado de la página actual en nuestra paginación.
Recuerde que la clave para una excelente paginación es encontrar el equilibrio adecuado entre brindar suficiente contexto y no abrumar al usuario. Prueba con diferentes valores para onEachSide() para encontrar lo que funcione mejor para su caso de uso específico.
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión