Un bundle Symfony pour gérer facilement la pagination dans vos composants Twig.
- Pagination simple et intuitive
- Support de la pagination "Voir plus"
- Intégration avec UX Filters
- Personnalisation complète des templates et styles
- Support du tri des éléments
- Compatible avec les composants Live
composer require akyos/ux-pagination
Le bundle ne nécessite pas de configuration supplémentaire. Il utilise les valeurs par défaut suivantes :
- Limite par page : 24 éléments
- Type de pagination : classique
- Tri par défaut :
createdAt
en ordre décroissant
<?php
namespace App\Twig\Components\Product;
use Akyos\UXPagination\Trait\ComponentWithPaginationTrait;
use App\Entity\Product;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\UX\LiveComponent\Attribute\AsLiveComponent;
#[AsLiveComponent]
final class Index extends AbstractController
{
use ComponentWithPaginationTrait;
public function __construct()
{
$this->repository = Product::class;
$this->setLimit(24);
}
}
<div{{ attributes }}>
{# Liste des éléments paginés #}
{% for product in elements %}
<div class="product">
<h3>{{ product.name }}</h3>
<p>{{ product.description|raw }}</p>
</div>
{% endfor %}
{# Affichage de la pagination #}
{{ pagination|raw }}
</div>
La documentation complète est disponible dans le dossier docs/
:
Le bundle offre plusieurs options de personnalisation :
- Surcharge des templates
- Personnalisation des styles CSS
- Configuration des classes CSS
- Personnalisation des messages
- Configuration du tri et de la limite
Le bundle s'intègre parfaitement avec UX Filters pour une expérience de filtrage et de pagination fluide.
Ce bundle est sous licence MIT. Voir le fichier LICENSE pour plus de détails.