group_by |
Groupé par |
| Liquid |
Syntaxe
|
{% assign groupes = collection | group_by: "attribut" %}
|
Paramètres
| Nom |
Description |
| collection |
Ce paramètre permet d'indiquer la collection (un tableau d'objets) que l'on souhaite regrouper en sous-ensembles selon un attribut commun. |
| attribut |
Ce paramètre permet de spécifier le nom de l'attribut (présent dans chaque élément de la collection) utilisé pour regrouper les objets ayant la même valeur pour cet attribut. |
Description
Ce filtre permet de regrouper une collection selon la valeur d'un attribut.
Remarques
- Permet de structurer logiquement les données répétitives : Le filtre group_by est très utile lorsqu'on travaille avec des collections contenant
des objets partageant des attributs communs (exemple : utilisateurs regroupés par rôle, produits par catégorie). Il simplifie l'organisation des données pour une
présentation hiérarchique ou catégorisée.
- Crée une collection de groupes, chacun contenant des éléments similaires : L'utilisation de group_by retourne une nouvelle collection de groupes,
où chaque groupe a deux propriétés : name (la valeur de l'attribut commun) et items (la liste des éléments correspondants). Cela permet de naviguer dans les
données regroupées de façon très flexible.
- Utile pour des affichages dynamiques en sections : Dans un portail, group_by permet d'afficher par exemple les articles de blog par auteur, les
demandes de support par statut, ou les commandes par client. Cela offre à l'utilisateur final une meilleure lisibilité et un classement visuel clair.
- L'attribut utilisé doit exister dans chaque élément : Il est important de s'assurer que chaque élément de la collection possède bien l'attribut spécifié
dans group_by. Sinon, certains éléments risquent d'être regroupés dans une catégorie vide ou ignorés. Une validation ou un tri préalable peut être nécessaire.
- Fonctionne uniquement sur des tableaux d'objets : Ce filtre ne s'applique pas sur une liste de valeurs simples comme des chaînes ou des nombres. Il faut
impérativement travailler avec des objets ayant des propriétés nommées pour que group_by puisse accéder à l'attribut commun et créer les regroupements.
- Ne modifie pas les objets d'origine : Le regroupement n'altère pas les objets initiaux : ils sont simplement reclassés par valeur d'attribut dans la
structure de groupes. On peut donc réutiliser la collection d'origine ailleurs, ou combiner group_by avec d'autres filtres sans perte de données.
- Peut être combiné avec sort pour plus de clarté : Avant ou après un group_by, il est fréquent d'appliquer un tri avec sort ou
sort_natural sur l'attribut cible. Cela permet de garantir l'ordre des groupes ou des éléments dans chaque groupe, améliorant la lisibilité des résultats
affichés.
- Particulièrement utile pour générer des interfaces structurées : Dans un portail Power Pages,
group_by permet de créer des tableaux avec entêtes dynamiques, des sections pliables ou des regroupements visuels intelligents. Cela transforme une simple
liste à plat en une interface UX avancée et orientée utilisateur.
Dernière mise à jour : Jeudi, le 24 Juillet 2025