Custom liquid
Napisz własny fragment kodu Liquid, który decyduje o dostępie, ze zmiennymi klienta, koszyka, produktu i sklepu.
Reguła Custom liquid pozwala napisać własny fragment kodu Liquid, który decyduje, czy odwiedzający uzyska dostęp. To najbardziej elastyczna reguła w aplikacji – wszystko, co da się wyrazić jako warunek Liquid dotyczący klienta, jego koszyka, bieżącego produktu lub kolekcji albo samego sklepu, możesz wykorzystać do ograniczenia dostępu do treści – ale to także jedyna reguła, w której błąd we fragmencie kodu ma realne konsekwencje, opisane poniżej.
Jak to działa
Dział zatytułowany „Jak to działa”Custom liquid to reguła oparta na akcji, więc nie ma przełącznika If/Unless. Zamiast tego aplikacja uruchamia Twój fragment kodu dla każdego odwiedzającego i odczytuje jego końcowy wynik. Wynik musi być dokładnie true lub false (otaczające białe znaki są ignorowane): true oznacza spełnienie reguły, a false jej niespełnienie. Inne dane wyjściowe, takie jak true - customer is eligible, nie są prawidłowym wynikiem. Twój fragment kodu ma dostęp do takich samych danych o bieżącym odwiedzającym i stronie, jakie ma motyw Shopify.
Dodawanie reguły
Dział zatytułowany „Dodawanie reguły”Otwórz blokadę, kliknij kartę Unlock rules i wybierz Custom liquid z listy rozwijanej Condition type.

Wybierz Custom liquid z listy rozwijanej Condition type na karcie Unlock rules.
Edytor kodu
Dział zatytułowany „Edytor kodu”Typ warunku tej reguły otwiera dedykowany edytor kodu Liquid z podświetlaniem składni, autouzupełnianiem i walidacją składni w czasie rzeczywistym – błędy w Liquid są oznaczane bezpośrednio w edytorze podczas pisania, jeszcze przed zapisaniem.

Pisanie i walidacja fragmentu kodu Liquid w edytorze kodu.
Dostępne zmienne
Dział zatytułowany „Dostępne zmienne”Edytor udostępnia bibliotekę zmiennych, które możesz wstawić, pogrupowanych według tego, co opisują:
| Grupa | Zmienne |
|---|---|
| Klient | customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b? |
| Koszyk | cart.item_count, cart.total_price, cart.items |
| Produkt i kolekcja | product.tags, product.vendor, product.metafields, collection.handle |
| Sklep | request.path, request.page_type, localization.country.iso_code, localization.language.iso_code |

Przeglądanie dostępnych zmiennych w panelu Variables and templates.
Szablony startowe
Dział zatytułowany „Szablony startowe”Jeśli wolisz zacząć od działającego rozwiązania niż od pustego edytora, ten sam panel zawiera gotowe szablony, które możesz wstawić i dostosować, w tym sprawdzenie zalogowanego klienta, sprawdzenie tagu klienta, minimalną liczbę produktów lub minimalną wartość koszyka, sprawdzenie tagu produktu, sprawdzenie kraju odwiedzającego, sprawdzenie ścieżki URL oraz gotowy szablon Shopify B2B customer, który bezpośrednio sprawdza customer.b2b?.

Wybór szablonu startowego, w tym gotowego szablonu Shopify B2B.
Kroki zarządzania
Dział zatytułowany „Kroki zarządzania”- Otwórz blokadę, którą chcesz chronić, i kliknij kartę Unlock rules.
- Dodaj regułę dostępu i ustaw typ warunku na Custom liquid.
- Napisz fragment kodu bezpośrednio w edytorze lub otwórz Variables and templates, aby skopiować zmienną albo zacząć od jednego z gotowych szablonów.
- Upewnij się, że końcowy wynik fragmentu kodu to dokładnie
truedla odwiedzających, którzy mają uzyskać dostęp, i dokładniefalsedla wszystkich pozostałych. Nie dodawaj tekstu objaśniającego, HTML ani innych danych wokół wartości. Edytor oznacza podstawowe błędy składni, ale nadal musisz sprawdzić, czy logika odpowiada Twoim zamierzeniom. - Opcjonalnie ustaw Redirect URL dla tej reguły, używany tylko wtedy, gdy ta konkretna reguła odmówi dostępu odwiedzającemu.
- Zapisz blokadę.
Zachowanie fail-open
Dział zatytułowany „Zachowanie fail-open”Przykład: dostęp dla zalogowanych klientów z tagiem VIP
Dział zatytułowany „Przykład: dostęp dla zalogowanych klientów z tagiem VIP”Załóżmy, że prywatna strona ma być dostępna tylko dla zalogowanych klientów, których konto ma tag vip.
- Wybierz stronę VIP collection preview jako zawartość do ochrony.

Wybierz stronę, którą chcesz zachować dla klientów VIP.
- Dodaj Custom liquid i zastąp fragment startowy następującym:
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}Edytor potwierdza poniżej komunikatem Liquid syntax is valid podczas pisania.

Edytor podświetla Liquid i waliduje składnię przed zapisaniem.
- Pozostaw pole Redirect URL reguły puste.
- Ustaw Access denied message na:
This page is available to VIP customers only.

Custom liquid ma jedno pole komunikatu, wyświetlane każdemu, kogo fragment kodu odrzuci.
- Kliknij Save.
Wynik w sklepie
Dział zatytułowany „Wynik w sklepie”Fragment zwraca dokładnie true dla zalogowanego klienta z tagiem vip, więc strona otwiera się normalnie. Zwraca dokładnie false dla gości i klientów bez tego tagu, więc widzą oni powyższy komunikat. Nie dodawaj tekstu przed ani po true lub false w danych wyjściowych fragmentu.

Gdy fragment Liquid zwraca false, odwiedzający widzi Access denied message z tego przykładu.