Dans le fichier site-schema.json
, on peut constater que les types de documents ayant des enfants ont tous une propriété "orderChildrenBy"
. C'est la manière de définir l'ordre dans lequel les enfants apparaîtront.
Par exemple :
"orderChildrenBy": "publishDate desc"
La valeur est composée d'un champ et d'une direction. Le champ peut prendre une valeur prédéfinie ou bien le nom d'un champ d'un type de document enfant. Voici les valeurs prédéfinies :
publishDate
title
La direction n'a que deux valeurs possibles :
asc
: Les enfants seront affichés dans l'ordre croissant.desc
: Ils seront affichés dans l'ordre décroissant.Enfin, il est possible de donner une liste de critères d'ordonnancement. Cela permet d'ordonner sur un critère secondaire lorsque les valeurs du premier champ sont égales. Par exemple, si parmi les types de documents enfants, il existe un champ year
, alors le document parent peut définir :
"orderChildrenBy": "year desc, publishDate desc"
Cet ordre est utilisé à la fois dans l'espace d'administration et sur la partie publique du site.
Les tags Liquid getDocs
et getPaginatedDocs
ont tous deux un paramètre optionnel orderBy
qui permet de charger la liste de documents dans un ordre différent de celui défini dans le type de document parent :
{% getDocs pages parentId: site.home.pages.id orderBy: "publishDate asc" %}