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.

Dominando la paginación en Laravel: Personalizando la visualización de enlaces con onEachSide()

#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.

Antonio Jenaro
Antonio Jenaro

Web Developer

Archivado en:

Inicia la conversación

Hazte miembro de Antonio Jenaro para comenzar a comentar.

Regístrate ahora

¿Ya estás registrado? Inicia sesión