Ga naar inhoud
15 dagen gratis proberen
Nederlands
Openen in Claude Stel vragen over deze paginaOpenen in ChatGPT Stel vragen over deze pagina

Aangepaste Liquid

Schrijf je eigen Liquid-snippet om toegang te bepalen, met variabelen voor klant, winkelwagen, product en webshop.

Met de regel Custom liquid schrijf je zelf een Liquid-codesnippet om te bepalen of een bezoeker toegang krijgt. Het is de meest flexibele regel in de app: alles wat je als Liquid-voorwaarde kunt uitdrukken over de klant, de winkelwagen, het huidige product of de huidige collectie, of de webshop zelf, kun je gebruiken om content af te schermen. Het is ook de enige regel waarbij een fout in de snippet echte gevolgen heeft, zoals hieronder wordt uitgelegd.

Custom liquid is een actiegebaseerde regel en heeft dus geen schakelaar If/Unless. In plaats daarvan voert de app je snippet uit voor elke bezoeker en leest het eindresultaat. Het resultaat moet exact true of false zijn (omringende witruimte wordt genegeerd): true voldoet aan de regel en false niet. Andere uitvoer, zoals true - customer is eligible, is geen geldig resultaat. Je snippet heeft toegang tot dezelfde soort gegevens over de huidige bezoeker en pagina als een Shopify-thema.

Open de vergrendeling, klik op het tabblad Unlock rules en kies Custom liquid in de vervolgkeuzelijst Condition type.

De vervolgkeuzelijst Condition type met Custom liquid geselecteerd

Selecteer Custom liquid in de vervolgkeuzelijst Condition type op het tabblad Unlock rules.

Het voorwaardetype van de regel opent een speciale Liquid-code-editor met syntaxiskleuring, automatisch aanvullen en syntaxiscontrole in realtime. Fouten in je Liquid worden direct in de editor gemarkeerd terwijl je typt, nog voordat je opslaat.

Code-editor van Custom liquid met een snippet en een indicator voor syntaxiscontrole

Een Liquid-snippet schrijven en valideren in de code-editor.

De editor biedt een bibliotheek met variabelen die je kunt invoegen, gegroepeerd op wat ze beschrijven:

Groep Variabelen
Klant customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b?
Winkelwagen cart.item_count, cart.total_price, cart.items
Product en collectie product.tags, product.vendor, product.metafields, collection.handle
Webshop request.path, request.page_type, localization.country.iso_code, localization.language.iso_code

Paneel Variables and templates met de beschikbare Liquid-variabelen gegroepeerd per categorie

De beschikbare variabelen bekijken in het paneel Variables and templates.

Als je liever met iets werkends begint dan met een lege editor, bevat hetzelfde paneel kant-en-klare sjablonen die je kunt invoegen en aanpassen. Daaronder zijn een controle op ingelogde klant, een controle op klanttag, een minimum voor aantal artikelen of totaalbedrag van de winkelwagen, een controle op producttag, een controle op land van de bezoeker, een controle op URL-pad en een kant-en-klaar sjabloon Shopify B2B customer dat rechtstreeks customer.b2b? controleert.

Paneel met voorbeeldsjablonen en een lijst met kant-en-klare Liquid-snippets als beginpunt

Een startsjabloon kiezen, inclusief het kant-en-klare Shopify B2B-sjabloon.

  1. Open de vergrendeling die je wilt beveiligen en klik op het tabblad Unlock rules.
  2. Voeg een toegangsregel toe en stel het voorwaardetype in op Custom liquid.
  3. Schrijf je snippet rechtstreeks in de editor, of open Variables and templates om een variabele te kopiëren of met een van de kant-en-klare sjablonen te beginnen.
  4. Zorg dat de uiteindelijke uitvoer van je snippet exact true is voor bezoekers die moeten voldoen en exact false voor iedereen anders. Voeg geen verklarende tekst, HTML of andere uitvoer rond de waarde toe. De editor markeert basale syntaxisproblemen, maar je moet zelf nog controleren of de logica overeenkomt met wat je bedoelt.
  5. Stel desgewenst per regel een Redirect URL in, die alleen wordt gebruikt als deze specifieke regel de bezoeker weigert.
  6. Sla de vergrendeling op.

Voorbeeld: ingelogde klanten met een VIP-tag toelaten

Section titled “Voorbeeld: ingelogde klanten met een VIP-tag toelaten”

Stel dat een privépagina alleen beschikbaar moet zijn voor ingelogde klanten wier account de tag vip heeft.

  1. Selecteer de pagina VIP collection preview als de content die je wilt beveiligen.

Het tabblad Lock setup met Specific Page als contenttype en de pagina VIP collection preview onder Restricted pages.

Kies de pagina die je voor VIP-klanten wilt bewaren.

  1. Voeg Custom liquid toe en vervang de startsnippet door:
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}

De editor bevestigt onder het veld Liquid syntax is valid terwijl je typt.

De voorwaarde Custom liquid met de VIP-tagsnippet in de Liquid-voorwaardeneditor en de bevestiging Liquid syntax is valid eronder.

De editor kleurt de Liquid-code en valideert de syntaxis voordat je opslaat.

  1. Laat de Redirect URL van de regel leeg.
  2. Stel het Access denied message in op:

This page is available to VIP customers only.

De kaart Messages met het Access denied message ingesteld op de tekst dat de pagina alleen voor VIP-klanten is, en het paneel Preview dat de tekst weergeeft.

Custom liquid heeft één berichtveld, dat wordt getoond aan iedereen die de snippet afwijst.

  1. Klik op Save.

De snippet geeft exact true terug voor een ingelogde klant met de tag vip, dus de pagina opent normaal. Voor gasten en klanten zonder die tag geeft de snippet exact false terug, dus zij zien het bericht hierboven. Voeg geen tekst voor of na true of false toe in de uitvoer van de snippet.

De pagina VIP collection preview met het ingestelde bericht dat de pagina alleen voor VIP-klanten is.

Als de Liquid-snippet false teruggeeft, ziet de bezoeker het Access denied message uit dit voorbeeld.

Was dit nuttig?