Optimiza tu Tienda: Cómo ocultar secciones vacías de forma Inteligente con Metacampos

Optimiza tu Tienda: Cómo ocultar secciones vacías de forma Inteligente con Metacampos

En la configuración de tu tienda Shopify, es posible que hayas establecido un banner en la parte superior de tus páginas de colección, el cual obtiene su contenido de los Metafields. Sin embargo, es posible que solo algunas colecciones especiales deban mostrar este banner, mientras que otras no lo necesiten.

La solución "correcta" sería crear una plantilla diferente para estas colecciones, pero eso puede volverse incómodo si ya tienes muchas plantillas o gestionas un amplio inventario. Este dilema es bastante común, y esperamos que Shopify agregue esta funcionalidad en el futuro. Por ahora, aquí te presentamos algunas formas de abordar este problema:

1 Generar Contenido con un Bloque Líquido Personalizado

Hemos previamente explorado cómo generar un Metafield utilizando bloques líquid personalizados en lugar de utilizar una sección o bloque en tu tema. Al hacerlo de esta manera, puedes envolver el Metafield en una declaración "if". De esta forma, puedes verificar si el Metafield está lleno y, en caso afirmativo, mostrar su contenido.

{% if product.metafields.namespace.key != blank %}

{{ product.metafields.namespace.key }}

{% endif %}

Esta opción es adecuada para contenido simple, como una línea de texto o un Metafield de texto enriquecido. También puedes utilizarla para incrustar elementos externos como vídeos. Sin embargo, no es la opción adecuada si deseas utilizar secciones reales en tu tema, como un control deslizante, banner, cuadrícula, o bloque desplegable.

Ocultar secciones vacías con CSS

También puedes ocultar cualquier sección de tu tienda Shopify apuntándola con CSS, utilizando el ID de la sección correspondiente. Aquí tienes el CSS necesario:

#tu-id-de-seccion { display: none; }

Con esto en mente, puedes combinarlo con el primer método, verificando si un Metafield está lleno. Solo necesitas verificar si uno de los Metafields está lleno, ya que este Metafield, quizás el encabezado del banner, representa al resto. Si está lleno, deseamos que el banner aparezca en esa colección.

{% unless collection.metafields.custom.banner_heading %}

Coloca  tu codigo CSS aquí

{% endunless %}

"Unless" (a menos que) es esencialmente lo contrario de "If" (si). Entonces, en términos sencillos, "a menos que el Metafield exista" es equivalente a decir "Si el Metafield no existe". Utilizar "unless" resulta más limpio en este contexto.

En resumen, simplemente agrega este código dentro de una sección líquid personalizada. Ten en cuenta que no es un campo personalizado de CSS, como podrías haber pensado inicialmente. Dado que el campo CSS no permite la inclusión de código Liquid, necesitas verificar el Metafield.

Ahora, ¿cómo encuentras el ID de la sección? Aquí tienes un resumen rápido:

Haz clic derecho en cualquier parte de la sección en tu navegador y selecciona "Inspeccionar". Esto abrirá las herramientas de desarrollo y resaltará el elemento HTML en el que hiciste clic.

En el panel de código, desplázate hacia arriba hasta encontrar la etiqueta de sección correspondiente a la sección en la que estás trabajando. Esta etiqueta de sección tendrá un atributo de ID.

Copia ese ID y pégalo en el código anterior.

Es importante ser cuidadoso al utilizar este método, ya que si eliminas la sección y luego la vuelves a crear, se generará con un ID diferente y deberás actualizar tu código en consecuencia.

¡Esperamos que estas técnicas te ayuden a gestionar la visibilidad de las secciones en tu tienda Shopify de manera más eficiente!

Regresar al blog