where |
Où |
| Liquid (Microsoft) |
Syntaxe
|
{{ collection | where: "propriete", valeur }}
|
Paramètres
| Nom |
Description |
| collection |
Ce paramètre permet d'indiquer la collection (liste d'objets) à filtrer. |
| "propriete" |
Ce paramètre permet de spécifier le nom de la propriété de chaque objet sur laquelle s'effectue la comparaison. |
| valeur |
Ce paramètre permet de définir la valeur que doit avoir la propriété spécifiée pour qu'un objet soit conservé dans la collection filtrée. |
Description
Ce filtre permet de filtrer une collection en conservant uniquement les objets dont une propriété correspond à une valeur donnée.
Remarques
- Filtrage conditionnel simple et puissant : Le filtre where permet de restreindre une collection en ne conservant que les objets répondant à une
condition précise sur l'une de leurs propriétés. Ce filtrage s'effectue de manière directe, sans avoir besoin d'une boucle ou d'une structure conditionnelle explicite.
- Idéal pour afficher des sous-ensembles ciblés : Lorsqu'on manipule des listes d'objets (exemple articles, utilisateurs, produits), where est parfait
pour isoler une catégorie spécifique, comme tous les articles publiés ou tous les produits d'un type donné. Cela améliore la clarté des affichages conditionnels.
- La valeur comparée est une égalité stricte : Le filtre where effectue une comparaison par égalité entre la valeur de la propriété et la valeur
donnée. Cela signifie qu'une différence de casse, de type ou de format peut empêcher la correspondance, ce qui doit être anticipé dans les données.
- Fonctionne uniquement avec des objets structurés : Le filtre where ne peut être utilisé que sur des collections contenant des objets avec des
propriétés nommées (comme un tableau de dictionnaires). Il ne fonctionne pas avec des listes de chaînes ou de nombres simples.
- Peut être combiné avec d'autres filtres : Le filtre where peut être enchaîné avec d'autres filtres tels que sort, limit, map ou
size, pour affiner encore plus les résultats. Cela permet par exemple de filtrer, puis trier, puis limiter à un certain nombre d'éléments affichés.
- N'affiche rien si aucune correspondance n'est trouvée : Si aucun objet ne satisfait à la condition spécifiée, le résultat du filtre est une collection
vide. Il est donc judicieux d'ajouter des tests conditionnels (if, unless) pour éviter des rendus vides sur la page ou afficher un message alternatif.
- Utilise une notation littérale pour les noms de propriétés : Le nom de la propriété doit être passé entre guillemets ("propriete") car il s'agit d'un
paramètre littéral, et non d'une variable. Cela garantit que Liquid cherche bien une propriété du même nom dans chaque objet de la collection.
- Ne supporte pas les comparateurs avancés : Contrairement à certains langages, le filtre where ne permet pas d'utiliser des opérateurs de
comparaison comme > ou <. Il se limite à tester l'égalité stricte. Pour des comparaisons plus complexes, il faut recourir à des boucles avec des conditions
if.
Dernière mise à jour : Jeudi, le 24 Juillet 2025