capture |
Capturé |
|---|---|
| Liquid (Microsoft) | |
Syntaxe
|
{% capture nom_variable %} ... contenu à capturer ... {% endcapture %} |
Paramètres
| Nom | Description |
|---|---|
| nom_variable | Ce paramètre permet de spécifier le nom de la variable dans laquelle le contenu capturé sera entreposé. |
| contenu à capturer | Ce paramètre permet d'indiquer le bloc de texte, d'expressions ou de balises Liquid dont le résultat sera enregistré dans la variable définie. |
Description
Cette balise permet d'entreposer le résultat d'une expression ou d'un bloc de contenu dans une variable.
Remarques
- Entreposage de contenu dynamique : La balise capture permet d'enregistrer un bloc de contenu (texte, HTML, ou Liquid) dans une variable. Cela est particulièrement utile lorsque le contenu à stocker est généré dynamiquement à l'aide de conditions, boucles ou filtres. Cela évite de dupliquer le même rendu à plusieurs endroits.
- Création de variables multi-lignes : Contrairement à la balise assign, capture peut inclure plusieurs lignes de contenu, y compris des balises HTML ou Liquid complexes. C'est donc la solution idéale pour composer des blocs entiers (comme un paragraphe ou un extrait de tableau) dans une seule variable.
- Syntaxe claire et facile à lire : La syntaxe {% capture nom_variable %}...{% endcapture %} délimite explicitement ce qui est enregistré. Elle rend le code plus lisible, car le bloc capturé est visuellement isolé, facilitant ainsi la compréhension pour les développeurs ou intégrateurs.
- Utilisation dans des structures conditionnelles : On peut utiliser capture à l'intérieur de blocs if, for ou case, ce qui permet de capturer un contenu différent selon le contexte. Par exemple, on peut construire dynamiquement un message différent pour chaque type d'utilisateur ou chaque étape d'un processus.
- Contenu HTML ou texte prêt à être affiché : Le contenu capturé est enregistré sous forme de texte. Cela signifie qu'il peut être utilisé directement dans une balise HTML ou injecté dans un autre endroit de la page sans transformation supplémentaire. Il conserve la mise en forme et les balises HTML si elles sont incluses.
- Réutilisation dans plusieurs emplacements : Une fois la variable définie via capture, elle peut être utilisée plusieurs fois dans le gabarit. Cela améliore la performance (car le rendu n'est généré qu'une seule fois) et évite les erreurs dues à la duplication de logique.
- Compatible avec les filtres Liquid : Après avoir capturé un contenu dans une variable, il est possible d'appliquer des filtres comme upcase, truncate, ou replace lors de son affichage. Cela permet d'adapter dynamiquement le rendu final sans modifier la capture initiale.
- Alternative à l'assignation directe : La balise capture est une alternative plus puissante que assign pour enregistrer des blocs de contenu. Tandis qu'assign est limité à des valeurs simples (chaîne, nombre,...), capture permet d'enregistrer le résultat d'une logique ou d'un rendu HTML complet dans une variable.
Dernière mise à jour : Mercredi, le 23 Juillet 2025