La syntaxe Liquid
Dernière mise à jour le 23 mars 2026
Liquid est un langage de templates open-source créé par Shopify. Il offre une syntaxe claire et simple que vous pouvez utiliser pour écrire vos templates PDFMonkey et les rendre hautement dynamiques.
Comment PDFMonkey utilise Liquid
Liquid v4
5.0.0 ou supérieure dans la documentation officielle de Liquid ne sera pas disponible dans PDFMonkey.Lorsque vous créez un Template en code, le HTML que vous écrivez utilise en réalité Liquid. Cela signifie que vous pouvez insérer des données dynamiques, transformer ces données, conditionner le contenu de votre template ou itérer sur des listes pour répéter du contenu.
Un aperçu de Liquid
Voici un exemple rapide qui montre à quoi ressemble un template Liquid dans PDFMonkey. Il utilise la plupart des fonctionnalités clés que vous rencontrerez :
<h1>Facture #{{invoiceNumber}}</h1>
<p>Date : {{"now" | date: "%d/%m/%Y"}}</p>
<p>Client : {{client.fullName}}</p>
<table>
<tr>
<th>Produit</th>
<th>Qté</th>
<th>Prix</th>
</tr>
{% for item in lineItems %}
<tr>
<td>{{item.product}}</td>
<td>{{item.quantity}}</td>
<td>{{item.price | times: item.quantity | with_delimiter, precision: 2}}</td>
</tr>
{% endfor %}
</table>
{% if client.isNewClient %}
<p>Bienvenue ! Profitez de 10 % de réduction sur votre prochaine commande.</p>
{% endif %}
Dans ce court extrait, vous pouvez voir les trois éléments de base que vous utiliserez partout :
- Les balises de sortie
{{ }}— insèrent des valeurs dynamiques dans le HTML. Elles peuvent accéder à des propriétés imbriquées commeclient.fullName. - Les balises logiques
{% %}— contrôlent le flux avec des conditions (if/else), des boucles (for), et plus encore. - Les filtres
|— transforment les valeurs en ligne. Icidateformate la date courante,timesmultiplie deux nombres, etwith_delimiterformate le résultat avec des séparateurs et des décimales.
Chacun de ces éléments est couvert en détail dans les pages ci-dessous.
Conditions et boucles
Les conditions (if, unless, case) et les boucles (for) vous permettent de contrôler ce qui apparaît dans votre sortie. Vous pouvez afficher du contenu uniquement lorsque certains critères sont remplis, ou répéter un bloc pour chaque élément d’une liste.
Filtres
Les filtres Liquid vous permettent de transformer les données à l’intérieur de vos templates. Vous passez une valeur à travers un ou plusieurs filtres en utilisant le caractère | pour formater des chaînes de caractères, manipuler des nombres, travailler avec des tableaux, et bien plus.
Liquid fournit de nombreux filtres intégrés (des helpers de transformation de données) qui suffiront dans la plupart des cas. Cela dit, ayant nous-mêmes créé de nombreux templates, nous avons identifié le besoin de filtres supplémentaires que nous avons ajoutés au fil du temps.
PDFMonkey prend en charge tous les filtres Liquid standard ainsi qu’un ensemble de filtres personnalisés adaptés à la génération de documents :
- Filtres : les filtres Liquid standard (par ex.,
upcase,date,split,sort) ainsi que les filtres personnalisés PDFMonkey commeentities,in_time_zone, et d’autres
Tags et helpers
Dans le même esprit, nous étendons également l’ensemble de fonctionnalités par défaut de Liquid pour offrir des fonctionnalités qui n’ont de sens que dans le contexte de PDFMonkey.
- Réutiliser du code (Snippets et Partials)
Documentation complète de Liquid
Questions fréquentes
- Quel langage de template PDFMonkey utilise-t-il ?
- Les modeles code PDFMonkey utilisent Liquid v4, un langage de template open source cree par Shopify. Il propose des balises de sortie {{ }} pour inserer des valeurs, des balises logiques {% %} pour les conditions et les boucles, et des filtres pour transformer les donnees.
- Peut-on utiliser les fonctionnalites Liquid v5 dans PDFMonkey ?
- Non. PDFMonkey utilise Liquid v4. Toute fonctionnalite marquee 5.0.0 ou superieure dans la documentation officielle Liquid n’est pas disponible dans les modeles PDFMonkey.
- Le Builder PDFMonkey utilise-t-il Liquid ?
- Non. Liquid n’est utilise que dans les modeles code. Les modeles Builder utilisent Vue. Si vous souhaitez utiliser la syntaxe Liquid comme {% if %} ou les filtres Liquid, utilisez un modele code.