Problemas al utilizar metaobjetos en mi plantilla

Topic summary

Un usuario enfrenta dificultades al implementar metaobjetos en su plantilla de Shopify, específicamente al intentar usar un condicional basado en valores de metacampos para activar funcionalidades (aparentemente relacionadas con envío gratis).

Problema identificado:

  • El código condicional no funciona correctamente
  • Incluye imágenes mostrando la definición del metaobjeto, creación del metacampo y código aplicado en la plantilla

Solución propuesta:
Otro usuario proporciona una guía detallada paso a paso:

  1. Usar product.price dentro del snippet correcto (dependiendo del theme, ejemplo: DAWN)
  2. Crear un MetaObject (type: delivery, value: reparto) con la cantidad deseada para envío
  3. Agregar entradas (Add entry) dentro del metaobject creado
  4. Implementar un bucle for para recorrer todos los objetos almacenados
  5. Asignar variable con valor predeterminado (default: 9999) si no hay datos
  6. Usar condicional if para verificar si el precio del producto es mayor al valor almacenado
  7. Aplicar CSS para crear un botón visual

El usuario original agradece la ayuda y confirma que está aplicando la solución.

Summarized with AI on November 4. AI used: claude-sonnet-4-5-20250929.

Hola tengo problemas intentando utilizar metaobjetos en mi plantilla ya que no funcionan o no se si estoy escribiendo mal el codigo. Adjunto imagen del metaobjeto y imagen del codigo donde lo estoy usando con un condicional. La idea es que tome el valor que se pone en el meta campo y con base a ese valor active o no la condicion. Cuando defini el metaobjeto agregue 2 ceros de mas al valor como decimales ya que asi funciona actualmente con datos quemados en el liquid.

Creacion de metacampo

Definicion del metaobjeto

Codigo en la plantilla

La pagina es https://priti.co/

Hola @camilocodecali me da gusto saber que usas la comunidad para tus dudas.

Al mirar tu código, vi muchas cosas que va hacer imposible que puedas visualizar el mensaje, te mando unos pasos para que lo vuelvas a intentar.

Tener en cuenta lo siguiente.

Si quieres usar el product.price (Tienes que estar dentro del snippet de price) OJO: Esto depende de tu theme.
Para este ejemplo mi theme es DAWN.

Una vez creado tu MetaObject en este caso con type: delivery y mi value es reparto. Nos dirigimos agregar la cantidad que deseamos para el envío dentro de nuestro custom object.

Ahora ingresamos a nuestro metaobject creado para poder hacer Add entry, que esta en la parte superior derecha al momento de ingresar dentro de nuestro metaobject delivery.


Una vez realizado esto, ya estamos para poder hacer nuestras condicionales de código liquid.

Te explico un poco, se que lo vas a entender a la primera.

1. {{ money_price }} es una variable de liquid que dentro del codigo ya esta asignado, como te comente esto ya lo trae el theme DAWN, lo que hace esta variable es indicar el precio del producto.

2. Se realiza un bucle for, para recorrer todos los objetos OJO almacenados en el metaobjects delivery

3. Asigno una variable enviogratis para poder traer el valor que se agrego a reparto y a la vez agrego un default de valor definido, que si no hay dato o no esta lleno el campo reparto; el valor definido va hacer 1999 (predeterminado).

4. Es una condicional if, veo que lo aplicaste; exactamente verifica si el precio del producto es mayor que el valor almacenado en enviogratis

5. Aplique CSS para crear un button, te dejo tarea para ti en donde lo asignas y como se va visualizar dentro de tu product page.

Saludos.

2 Likes

Hola que pena apenas volver a tocar este tema, veo tu solucion y tiene mucho sentido muchas gracias por tomarte el tiempo de ayudarme con este problema. Ya estoy aplicando la solucion y te comento cualquiero duda.