akyos / ux-pagination
A Symfony bundle to paginate table in live Component
Installs: 136
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:CSS
Requires
- php: ^8.2
- knplabs/knp-paginator-bundle: ^6.0
- symfony/orm-pack: ^2.4
- symfony/ux-icons: ^2.21
- symfony/ux-live-component: ^2.21
Requires (Dev)
- symfonycasts/tailwind-bundle: ^0.6.0
This package is auto-updated.
Last update: 2025-05-13 15:27:41 UTC
README
Un bundle Symfony pour gérer facilement la pagination dans vos composants Twig.
Fonctionnalités
- 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
Installation
composer require akyos/ux-pagination
Configuration
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
Utilisation
Dans un Composant
<?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); } }
Dans le Template
<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>
Documentation
La documentation complète est disponible dans le dossier docs/
:
Personnalisation
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
Intégration avec UX Filters
Le bundle s'intègre parfaitement avec UX Filters pour une expérience de filtrage et de pagination fluide.
Licence
Ce bundle est sous licence MIT. Voir le fichier LICENSE pour plus de détails.