Ir al contenido
Prueba gratis durante 15 días
Español
English简体中文繁體中文ČeštinaPróximamenteDanskPróximamenteNederlandsSuomiPróximamenteFrançaisDeutschItaliano日本語한국어Norsk bokmålPróximamentePolskiPortuguêsEspañolSvenskaTürkçe
Abrir en Claude Hacer preguntas sobre esta páginaAbrir en ChatGPT Hacer preguntas sobre esta página

Custom liquid

Escribe tu propio fragmento de Liquid para decidir el acceso, con variables de cliente, carrito, producto y tienda online.

La regla Custom liquid te permite escribir tu propio fragmento de código Liquid para decidir si una persona obtiene acceso. Es la regla más flexible de la aplicación: cualquier cosa que puedas expresar como condición de Liquid sobre el cliente, su carrito, el producto o la colección actual, o la propia tienda online, sirve para limitar contenido. Pero también es la única regla en la que un error en el fragmento tiene consecuencias reales, como se explica más abajo.

Custom liquid es una regla basada en acciones, por lo que no tiene interruptor If/Unless. En su lugar, la aplicación ejecuta tu fragmento para cada visita y lee su resultado final. El resultado debe ser exactamente true o false (se ignoran los espacios en blanco alrededor): true supera la regla y false no la supera. Otra salida, como true - customer is eligible, no es un resultado válido. Tu fragmento tiene acceso al mismo tipo de datos que tendría un tema de Shopify sobre la persona y la página actuales.

Abre el bloqueo, haz clic en la pestaña Unlock rules y elige Custom liquid en el menú desplegable Condition type.

El menú desplegable Condition type con Custom liquid seleccionado

Selecciona Custom liquid en el menú desplegable Condition type de la pestaña Unlock rules.

El tipo de condición de la regla abre un editor de código Liquid específico con resaltado de sintaxis, autocompletado y validación de sintaxis en tiempo real: los errores de tu Liquid se señalan directamente en el editor mientras escribes, incluso antes de guardar.

Editor de código de Custom liquid con un fragmento y un indicador de validación de sintaxis

Escribir y validar un fragmento de Liquid en el editor de código.

El editor ofrece una biblioteca de variables que puedes insertar, agrupadas según lo que describen:

Grupo Variables
Cliente customer, customer.tags, customer.orders_count, customer.total_spent, customer.b2b?
Carrito cart.item_count, cart.total_price, cart.items
Producto y colección product.tags, product.vendor, product.metafields, collection.handle
Tienda online request.path, request.page_type, localization.country.iso_code, localization.language.iso_code

Panel Variables and templates con las variables de Liquid disponibles agrupadas por categoría

Explorar las variables disponibles desde el panel Variables and templates.

Si prefieres partir de algo que ya funcione en lugar de un editor vacío, el mismo panel incluye plantillas listas para insertar y ajustar: una comprobación de cliente con sesión iniciada, una de etiqueta de cliente, un mínimo de cantidad o total del carrito, una de etiqueta de producto, una de país de la persona visitante, una de ruta de URL y una plantilla lista Shopify B2B customer que comprueba customer.b2b? directamente.

Panel de plantillas de ejemplo con una lista de fragmentos de Liquid listos para usar como punto de partida

Elegir una plantilla de inicio, incluida la plantilla lista de Shopify B2B.

  1. Abre el bloqueo que quieres proteger y haz clic en la pestaña Unlock rules.
  2. Agrega una regla de acceso y define el tipo de condición como Custom liquid.
  3. Escribe tu fragmento directamente en el editor, o abre Variables and templates para copiar una variable o partir de una de las plantillas listas.
  4. Asegúrate de que la salida final de tu fragmento sea exactamente true para quienes deban pasar y exactamente false para el resto. No agregues texto explicativo, HTML ni otra salida alrededor del valor. El editor señala problemas básicos de sintaxis, pero aun así debes comprobar que la lógica coincide con lo que pretendes.
  5. Si quieres, define una Redirect URL para esta regla, que se usa solo si esta regla concreta deniega el acceso.
  6. Guarda el bloqueo.

Ejemplo: permitir el acceso a clientes con sesión iniciada y etiqueta VIP

Sección titulada «Ejemplo: permitir el acceso a clientes con sesión iniciada y etiqueta VIP»

Supongamos que una página privada solo debe estar disponible para clientes que hayan iniciado sesión y cuya cuenta tenga la etiqueta vip.

  1. Selecciona la página VIP collection preview como contenido que se va a proteger.

La pestaña Lock setup con Specific Page como tipo de contenido y la página VIP collection preview en la lista Restricted pages.

Elige la página que quieres reservar para la clientela VIP.

  1. Agrega Custom liquid y sustituye el fragmento inicial por:
{% if customer and customer.tags contains 'vip' %}true{% else %}false{% endif %}

El editor confirma Liquid syntax is valid debajo mientras escribes.

La condición Custom liquid con el fragmento de la etiqueta VIP en el editor de condición Liquid y la confirmación Liquid syntax is valid debajo.

El editor resalta el Liquid y valida la sintaxis antes de guardar.

  1. Deja vacía la Redirect URL de la regla.
  2. Define el Access denied message como:

This page is available to VIP customers only.

La tarjeta Messages con el Access denied message definido con el texto solo para clientes VIP y el panel Preview mostrándolo.

Custom liquid tiene un único campo de mensaje, que se muestra a todas las personas que el fragmento rechaza.

  1. Haz clic en Save.

El fragmento devuelve exactamente true para una persona con sesión iniciada y la etiqueta vip, por lo que la página se abre con normalidad. Devuelve exactamente false para quienes no han iniciado sesión y para quienes no tienen esa etiqueta, que ven el mensaje anterior. No agregues texto antes ni después de true o false en la salida del fragmento.

La página VIP collection preview mostrando el mensaje configurado solo para clientes VIP.

Cuando el fragmento de Liquid devuelve false, la persona ve el Access denied message de este ejemplo.

¿Te resultó útil esta página?