Pular para o conteúdo
Teste grátis por 15 dias
Português
Abrir no Claude Fazer perguntas sobre esta páginaAbrir no ChatGPT Fazer perguntas sobre esta página

Liquid personalizado

Escreva seu próprio snippet Liquid para decidir o acesso, com variáveis de cliente, carrinho, produto e loja virtual.

A regra Custom liquid permite escrever seu próprio snippet de código Liquid para decidir se uma pessoa visitante tem acesso. É a regra mais flexível do app: qualquer coisa que você consiga expressar como uma condição Liquid sobre o cliente, o carrinho, o produto ou a coleção atual, ou a própria loja virtual, pode ser usada para restringir conteúdo. Mas também é a única regra em que um erro no snippet tem consequências reais, descritas abaixo.

Custom liquid é uma regra baseada em ação, então não tem a opção If/Unless. Em vez disso, o app executa seu snippet para cada pessoa visitante e lê o resultado final. O resultado deve ser exatamente true ou false (espaços em branco ao redor são ignorados): true aprova a regra e false a reprova. Qualquer outra saída, como true - customer is eligible, não é um resultado válido. Seu snippet tem acesso ao mesmo tipo de dados que um tema da Shopify teria sobre a pessoa visitante e a página atuais.

Abra o bloqueio, clique na guia Unlock rules e escolha Custom liquid no menu suspenso Condition type.

O menu suspenso Condition type com Custom liquid selecionado

Selecione Custom liquid no menu suspenso Condition type da guia Unlock rules.

O tipo de condição da regra abre um editor de código Liquid dedicado, com realce de sintaxe, preenchimento automático e validação de sintaxe em tempo real: os erros no seu Liquid são sinalizados diretamente no editor enquanto você digita, antes mesmo de salvar.

Editor de código Custom liquid com um snippet e um indicador de validação de sintaxe

Escrevendo e validando um snippet Liquid no editor de código.

O editor oferece uma biblioteca de variáveis que você pode inserir, agrupadas pelo que descrevem:

Grupo Variáveis
Cliente customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b?
Carrinho cart.item_count, cart.total_price, cart.items
Produto e coleção product.tags, product.vendor, product.metafields, collection.handle
Loja virtual request.path, request.page_type, localization.country.iso_code, localization.language.iso_code

Painel Variables and templates mostrando as variáveis Liquid disponíveis agrupadas por categoria

Explorando as variáveis disponíveis no painel Variables and templates.

Se preferir começar por algo que já funciona em vez de um editor vazio, o mesmo painel inclui modelos prontos que você pode inserir e ajustar, como verificação de cliente conectado, verificação de tag de cliente, mínimo de quantidade ou total do carrinho, verificação de tag de produto, verificação do país da pessoa visitante, verificação de caminho de URL e um modelo pronto Shopify B2B customer que verifica customer.b2b? diretamente.

Painel de modelos de exemplo com uma lista de snippets Liquid prontos para usar como ponto de partida

Escolhendo um modelo inicial, incluindo o modelo pronto Shopify B2B.

  1. Abra o bloqueio que você quer proteger e clique na guia Unlock rules.
  2. Adicione uma regra de acesso e defina o tipo de condição como Custom liquid.
  3. Escreva seu snippet diretamente no editor ou abra Variables and templates para copiar uma variável ou partir de um dos modelos prontos.
  4. Verifique se a saída final do snippet é exatamente true para quem deve passar e exatamente false para todas as outras pessoas. Não adicione texto explicativo, HTML ou outra saída ao redor do valor. O editor sinaliza problemas básicos de sintaxe, mas você ainda precisa confirmar que a lógica corresponde ao que pretende.
  5. Se quiser, defina um Redirect URL para a regra, usado somente se essa regra específica negar o acesso à pessoa visitante.
  6. Salve o bloqueio.

Exemplo: permitir clientes conectados com a tag VIP

Seção intitulada “Exemplo: permitir clientes conectados com a tag VIP”

Suponha que uma página privada deva estar disponível apenas para clientes conectados cuja conta tenha a tag vip.

  1. Selecione a página VIP collection preview como o conteúdo a proteger.

A guia Lock setup com Specific Page como tipo de conteúdo e a página VIP collection preview listada em Restricted pages.

Escolha a página que você quer reservar para clientes VIP.

  1. Adicione Custom liquid e substitua o snippet inicial por:
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}

O editor confirma Liquid syntax is valid abaixo enquanto você digita.

A condição Custom liquid com o snippet da tag VIP no editor de condição Liquid e a confirmação Liquid syntax is valid abaixo.

O editor destaca o Liquid e valida a sintaxe antes de você salvar.

  1. Deixe o Redirect URL da regra vazio.
  2. Defina a Access denied message como:

This page is available to VIP customers only.

O cartão Messages com a Access denied message definida com o texto exclusivo para clientes VIP e o painel Preview exibindo-a.

Custom liquid tem um único campo de mensagem, exibido a todas as pessoas que o snippet rejeita.

  1. Clique em Save.

O snippet gera exatamente true para um cliente conectado com a tag vip, então a página abre normalmente. Ele gera exatamente false para visitantes não conectados e clientes sem essa tag, que veem a mensagem acima. Não adicione texto antes ou depois de true ou false na saída do snippet.

A página VIP collection preview exibindo a mensagem configurada exclusiva para clientes VIP.

Quando o snippet Liquid retorna false, a pessoa visitante vê a Access denied message deste exemplo.

Isso foi útil?