Custom liquid
Scrivi un tuo snippet Liquid per decidere l'accesso, con variabili di cliente, carrello, prodotto e vetrina.
La regola Custom liquid ti permette di scrivere un tuo snippet di codice Liquid per decidere se chi visita il negozio ottiene l’accesso. È la regola più flessibile dell’app: tutto ciò che puoi esprimere come condizione Liquid sul cliente, sul suo carrello, sul prodotto o sulla collezione attuale o sulla vetrina stessa può servire per limitare l’accesso ai contenuti. Ma è anche l’unica regola in cui un errore nello snippet ha conseguenze reali, descritte più avanti.
Come funziona
Sezione intitolata “Come funziona”Custom liquid è una regola basata su un’azione, quindi non ha un interruttore If/Unless. L’app esegue invece il tuo snippet per ogni persona che visita il negozio e ne legge il risultato finale. Il risultato deve essere esattamente true o false (gli spazi intorno vengono ignorati): true supera la regola e false no. Qualsiasi altro output, come true - customer is eligible, non è un risultato valido. Lo snippet ha accesso allo stesso tipo di dati che un tema Shopify avrebbe su chi visita il negozio e sulla pagina corrente.
Aggiungere la regola
Sezione intitolata “Aggiungere la regola”Apri il blocco, fai clic sulla scheda Unlock rules e scegli Custom liquid dal menu a discesa Condition type.

Seleziona Custom liquid dal menu a discesa Condition type nella scheda Unlock rules.
L’editor di codice
Sezione intitolata “L’editor di codice”Il tipo di condizione della regola apre un editor di codice Liquid dedicato, con evidenziazione della sintassi, completamento automatico e convalida della sintassi in tempo reale: gli errori nel tuo Liquid vengono segnalati direttamente nell’editor mentre scrivi, ancora prima di salvare.

Scrittura e convalida di uno snippet Liquid nell’editor di codice.
Variabili disponibili
Sezione intitolata “Variabili disponibili”L’editor offre una libreria di variabili che puoi inserire, raggruppate in base a ciò che descrivono:
| Gruppo | Variabili |
|---|---|
| Cliente | customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b? |
| Carrello | cart.item_count, cart.total_price, cart.items |
| Prodotto e collezione | product.tags, product.vendor, product.metafields, collection.handle |
| Vetrina | request.path, request.page_type, localization.country.iso_code, localization.language.iso_code |

Consultazione delle variabili disponibili dal pannello Variables and templates.
Modelli di partenza
Sezione intitolata “Modelli di partenza”Se preferisci partire da qualcosa di funzionante invece che da un editor vuoto, lo stesso pannello include modelli già pronti da inserire e adattare, tra cui un controllo di cliente con accesso effettuato, un controllo del tag cliente, un minimo di quantità o totale del carrello, un controllo del tag prodotto, un controllo del paese di chi visita, un controllo del percorso URL e un modello Shopify B2B customer già pronto che controlla direttamente customer.b2b?.

Scelta di un modello di partenza, incluso il modello Shopify B2B già pronto.
Passaggi da seguire
Sezione intitolata “Passaggi da seguire”- Apri il blocco che vuoi proteggere e fai clic sulla scheda Unlock rules.
- Aggiungi una regola di accesso e imposta il tipo di condizione su Custom liquid.
- Scrivi lo snippet direttamente nell’editor oppure apri Variables and templates per copiare una variabile o partire da uno dei modelli già pronti.
- Assicurati che l’output finale dello snippet sia esattamente
trueper chi deve passare ed esattamentefalseper tutti gli altri. Non aggiungere testo esplicativo, HTML o altro output intorno al valore. L’editor segnala i problemi di sintassi di base, ma devi comunque verificare che la logica corrisponda a ciò che intendi. - Se vuoi, imposta un Redirect URL specifico per la regola, usato solo se è proprio questa regola a negare l’accesso.
- Salva il blocco.
Comportamento fail-open
Sezione intitolata “Comportamento fail-open”Esempio: consentire l’accesso ai clienti con tag VIP che hanno effettuato l’accesso
Sezione intitolata “Esempio: consentire l’accesso ai clienti con tag VIP che hanno effettuato l’accesso”Supponiamo che una pagina privata debba essere disponibile solo ai clienti con accesso effettuato il cui account ha il tag vip.
- Seleziona la pagina VIP collection preview come contenuto da proteggere.

Scegli la pagina che vuoi riservare ai clienti VIP.
- Aggiungi Custom liquid e sostituisci lo snippet iniziale con:
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}L’editor conferma Liquid syntax is valid sotto lo snippet mentre scrivi.

L’editor evidenzia il Liquid e ne convalida la sintassi prima del salvataggio.
- Lascia vuoto il campo Redirect URL della regola.
- Imposta Access denied message su:
This page is available to VIP customers only.

Custom liquid ha un solo campo messaggio, mostrato a tutti coloro che lo snippet respinge.
- Fai clic su Save.
Risultato sulla vetrina
Sezione intitolata “Risultato sulla vetrina”Lo snippet restituisce esattamente true per un cliente con accesso effettuato che ha il tag vip, quindi la pagina si apre normalmente. Restituisced esattamente false per chi visita come ospite e per i clienti senza quel tag, che vedono il messaggio qui sopra. Non aggiungere testo prima o dopo true o false nell’output dello snippet.

Quando lo snippet Liquid restituisce false, chi visita il negozio vede l’Access denied message di questo esempio.