Avec Drupal, il est aisé de lier plusieurs entités entre elles par l'intermédiaire de champs typés "entity_reference". Par l'intermédiaire d'un champ multiple, notre entité peut référencer plusieurs entités.
Dans le cas où l'on aurait de nombreuses entités référencées et que l'on souhaite limiter l'affichage de celles-ci, tout en permettant d'afficher les suivantes, la seule solution aujourd'hui est de créer une vue et de l'afficher sur notre page via un bloc ou le "layout builder".
Exemple : j'ai un principe d'explorateur de documents avec des dossiers et des contenus. Un dossier est un type de contenu qui référence plusieurs dossiers et plusieurs contenus. Le dossier peut contenir de nombreux contenus, et je ne souhaite pas les afficher tous pour des questions de performance. Je souhaite donc pouvoir les afficher 10 par 10 avec une pagination.
Le module Entity Reference Pagination Formatter proposé par IOSAN vous permet d'ajouter la fonctionnalité de rendu d'entités référencées en ajoutant une limite du nombre de contenus à afficher et d'ajouter la pagination.
Ce module utilise le module Ajax link qui fera l'objet d'un autre billet. Les paramètres du module ajax_link sont disponibles depuis la configuration du formateur et permet ainsi de :
- Choisir si la pagination est exécutée au clic sur le lien ou automatiquement (autoscroll)
- Si le lien de pagination doit être supprimé après exécution
- Si le chargement de la pagination doit se refléter dans l'url pour conserver un historique dans le navigateur
- Choisir l'argument utilisé pour la pagination
- Choisir le nombre d'éléments à afficher par page
- Sélectionner le mode d'ajout des éléments souhaités : en insertion ou en remplacement.