Przejdź do głównej zawartości
Wypróbuj za darmo przez 15 dni
Polski
Otwórz w Claude Zadaj pytania o tę stronęOtwórz w ChatGPT Zadaj pytania o tę stronę

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.

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.

Otwórz blokadę, kliknij kartę Unlock rules i wybierz Custom liquid z listy rozwijanej Condition type.

Lista rozwijana Condition type z wybraną opcją Custom liquid

Wybierz Custom liquid z listy rozwijanej Condition type na karcie Unlock rules.

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.

Edytor kodu Custom liquid z fragmentem kodu i wskaźnikiem walidacji składni

Pisanie i walidacja fragmentu kodu Liquid w edytorze kodu.

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

Panel Variables and templates z dostępnymi zmiennymi Liquid pogrupowanymi według kategorii

Przeglądanie dostępnych zmiennych w panelu Variables and templates.

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?.

Panel z przykładowymi szablonami i listą gotowych fragmentów Liquid do wykorzystania jako punkt wyjścia

Wybór szablonu startowego, w tym gotowego szablonu Shopify B2B.

  1. Otwórz blokadę, którą chcesz chronić, i kliknij kartę Unlock rules.
  2. Dodaj regułę dostępu i ustaw typ warunku na Custom liquid.
  3. Napisz fragment kodu bezpośrednio w edytorze lub otwórz Variables and templates, aby skopiować zmienną albo zacząć od jednego z gotowych szablonów.
  4. Upewnij się, że końcowy wynik fragmentu kodu to dokładnie true dla odwiedzających, którzy mają uzyskać dostęp, i dokładnie false dla 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.
  5. Opcjonalnie ustaw Redirect URL dla tej reguły, używany tylko wtedy, gdy ta konkretna reguła odmówi dostępu odwiedzającemu.
  6. Zapisz blokadę.

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.

  1. Wybierz stronę VIP collection preview jako zawartość do ochrony.

Karta Lock setup z typem zawartości Specific Page i stroną VIP collection preview na liście Restricted pages.

Wybierz stronę, którą chcesz zachować dla klientów VIP.

  1. 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.

Warunek Custom liquid z fragmentem tagu VIP w edytorze warunku Liquid i potwierdzeniem Liquid syntax is valid poniżej.

Edytor podświetla Liquid i waliduje składnię przed zapisaniem.

  1. Pozostaw pole Redirect URL reguły puste.
  2. Ustaw Access denied message na:

This page is available to VIP customers only.

Karta Messages z Access denied message ustawionym na tekst tylko dla klientów VIP oraz panel Preview, który go wyświetla.

Custom liquid ma jedno pole komunikatu, wyświetlane każdemu, kogo fragment kodu odrzuci.

  1. Kliknij Save.

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.

Strona VIP collection preview wyświetlająca skonfigurowany komunikat tylko dla klientów VIP.

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

Czy to było pomocne?