select |
Sélectionne |
| Liquid (Microsoft) |
Syntaxe
|
{{ collection | select: "property_name" }}
|
Paramètres
| Nom |
Description |
| collection |
Ce paramètre permet d'indiquer la collection (tableau d'objets) sur laquelle le filtrage doit être effectué. |
| "property_name" |
Ce paramètre permet de spécifier le nom de la propriété de chaque élément de la collection à évaluer comme condition de sélection. Seuls les éléments dont cette propriété a une valeur évaluée comme « vraie » (truthy) seront conservés. |
Description
Ce filtre permet de filtrer une collection en ne conservant que les éléments pour lesquels une condition est vraie.
Remarques
- Filtrage basé sur la valeur d'une propriété booléenne ou "truthy" : Le filtre select permet de conserver uniquement les éléments d'une collection
dont une propriété donnée a une valeur évaluée comme vraie. Cela inclut les valeurs comme true, des chaînes non vides ou des nombres non nuls, et exclut les false, null,
ou chaînes vides.
- Particulièrement adapté aux objets structurés : Ce filtre est utile lorsque vous travaillez avec une liste d'objets (par exemple des enregistrements d'une
base de données) et que vous souhaitez extraire uniquement ceux qui respectent une certaine condition, comme un champ isActive, visible, ou enabled.
- Syntaxe simplifiée pour des filtrages conditionnels fréquents : Au lieu d'écrire une boucle for avec une instruction if,
select vous permet de filtrer en une seule ligne. Cela simplifie le code Liquid et améliore la lisibilité et la maintenance de vos modèles.
- Basé sur le concept de "truthiness" : Le comportement du filtre repose sur la notion de "truthy", ce qui signifie que tout ce qui n'est pas "falsy"
(comme false, 0, "", ou null) sera conservé. Il est donc important de bien connaître la valeur des propriétés utilisées pour éviter des résultats inattendus.
- Non destructif et retourne une nouvelle collection : Le filtre select ne modifie pas la collection d'origine : il renvoie une nouvelle collection contenant
uniquement les éléments filtrés. Cela permet de chaîner d'autres filtres ou d'effectuer des traitements supplémentaires sans affecter les données initiales.
- Utile pour les affichages conditionnels dynamiques : Dans un site web dynamique, vous pouvez utiliser select pour n'afficher que certains enregistrements,
comme les articles publiés (published == true) ou les utilisateurs actifs, en évitant des structures conditionnelles plus complexes dans votre Liquid.
- Peut être combiné avec d'autres filtres comme sort ou limit : Une fois la collection filtrée avec select, vous pouvez la trier (sort), limiter le nombre
d'éléments (limit), ou appliquer d'autres transformations. Cela permet de composer des chaînes de traitement très flexibles et efficaces.
- Attention aux fautes dans le nom de propriété : Le nom de la propriété est passé en chaîne de caractères, ce qui implique qu'une faute de frappe ne
génèrera pas d'erreur, mais retournera simplement une collection vide si aucun objet ne contient la propriété correspondante - un point crucial à surveiller en
débogage.
Dernière mise à jour : Jeudi, le 24 Juillet 2025