Liquid personnalisé
Écrivez votre propre extrait Liquid pour décider de l'accès, avec des variables de client, de panier, de produit et de vitrine.
La règle Custom liquid vous permet d’écrire votre propre extrait de code Liquid pour décider si une personne obtient l’accès. C’est la règle la plus flexible de l’application : tout ce que vous pouvez exprimer comme condition Liquid concernant le client, son panier, le produit ou la collection actuels, ou la vitrine elle-même, vous pouvez l’utiliser pour restreindre l’accès à du contenu. C’est aussi la seule règle où une erreur dans l’extrait a de réelles conséquences, comme expliqué plus bas.
Fonctionnement
Section intitulée « Fonctionnement »Custom liquid est une règle basée sur une action : elle n’a donc pas de bouton If/Unless. À la place, l’application exécute votre extrait pour chaque personne et lit son résultat final. Le résultat doit être exactement true ou false (les espaces autour sont ignorés) : true valide la règle et false la fait échouer. Toute autre sortie, comme true - customer is eligible, n’est pas un résultat valide. Votre extrait a accès au même type de données qu’un thème Shopify sur la personne et la page en cours.
Ajouter la règle
Section intitulée « Ajouter la règle »Ouvrez le verrou, cliquez sur l’onglet Unlock rules et choisissez Custom liquid dans la liste déroulante Condition type.

Sélectionnez Custom liquid dans la liste déroulante Condition type de l’onglet Unlock rules.
L’éditeur de code
Section intitulée « L’éditeur de code »Le type de condition de la règle ouvre un éditeur de code Liquid dédié, avec coloration syntaxique, saisie semi-automatique et validation de la syntaxe en temps réel : les erreurs de votre Liquid sont signalées directement dans l’éditeur pendant la saisie, avant même l’enregistrement.

Écriture et validation d’un extrait Liquid dans l’éditeur de code.
Variables disponibles
Section intitulée « Variables disponibles »L’éditeur propose une bibliothèque de variables à insérer, regroupées selon ce qu’elles décrivent :
| Groupe | Variables |
|---|---|
| Client | customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b? |
| Panier | cart.item_count, cart.total_price, cart.items |
| Produit et collection | product.tags, product.vendor, product.metafields, collection.handle |
| Vitrine | request.path, request.page_type, localization.country.iso_code, localization.language.iso_code |

Parcours des variables disponibles depuis le panneau Variables and templates.
Modèles de départ
Section intitulée « Modèles de départ »Si vous préférez partir d’un exemple fonctionnel plutôt que d’un éditeur vide, le même panneau comprend des modèles prêts à l’emploi que vous pouvez insérer et ajuster : vérification d’un client connecté, vérification d’un tag client, minimum de quantité ou de total du panier, vérification d’un tag de produit, vérification du pays de la personne, vérification du chemin d’URL, et un modèle prêt à l’emploi Shopify B2B customer qui vérifie directement customer.b2b?.

Choix d’un modèle de départ, y compris le modèle Shopify B2B prêt à l’emploi.
Étapes de gestion
Section intitulée « Étapes de gestion »- Ouvrez le verrou à protéger et cliquez sur l’onglet Unlock rules.
- Ajoutez une règle d’accès et définissez le type de condition sur Custom liquid.
- Écrivez votre extrait directement dans l’éditeur, ou ouvrez Variables and templates pour copier une variable ou partir d’un des modèles prêts à l’emploi.
- Assurez-vous que la sortie finale de votre extrait est exactement
truepour les personnes qui doivent passer et exactementfalsepour toutes les autres. N’ajoutez pas de texte explicatif, de HTML ou d’autre contenu autour de la valeur. L’éditeur signale les problèmes de syntaxe de base, mais vous devez tout de même vérifier que la logique correspond à votre intention. - Si vous le souhaitez, définissez une Redirect URL propre à la règle, utilisée uniquement si cette règle précise refuse l’accès.
- Enregistrez le verrou.
Comportement en cas d’échec (fail-open)
Section intitulée « Comportement en cas d’échec (fail-open) »Exemple : autoriser les clients connectés ayant un tag VIP
Section intitulée « Exemple : autoriser les clients connectés ayant un tag VIP »Imaginons qu’une page privée ne doive être accessible qu’aux clients connectés dont le compte a le tag vip.
- Sélectionnez la page VIP collection preview comme contenu à protéger.

Choisissez la page à réserver aux clients VIP.
- Ajoutez Custom liquid et remplacez l’extrait de départ par :
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}L’éditeur confirme Liquid syntax is valid en dessous pendant la saisie.

L’éditeur met en évidence le Liquid et valide la syntaxe avant l’enregistrement.
- Laissez le champ Redirect URL de la règle vide.
- Définissez le Access denied message sur :
This page is available to VIP customers only.

Custom liquid n’a qu’un seul champ de message, affiché à toute personne que l’extrait rejette.
- Cliquez sur Save.
Résultat sur la vitrine
Section intitulée « Résultat sur la vitrine »L’extrait renvoie exactement true pour un client connecté ayant le tag vip : la page s’ouvre donc normalement. Il renvoie exactement false pour les visiteurs non connectés et les clients sans ce tag, qui voient alors le message ci-dessus. N’ajoutez pas de texte avant ou après true ou false dans la sortie de l’extrait.

Lorsque l’extrait Liquid renvoie false, la personne voit le Access denied message de cet exemple.