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

Nous utilisons Liquid v4 actuellement. Cela signifie que toute méthode marquée 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 comme client.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. Ici date formate la date courante, times multiplie deux nombres, et with_delimiter formate 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 comme entities, 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.

Documentation complète de Liquid

Cette documentation couvre les fonctionnalités Liquid les plus utiles à connaître lors de la création de Templates. Pour une documentation complète, vous pouvez vous référer à la documentation officielle hébergée sur https://shopify.github.io/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.