Ocultar variantes agotadas

Puedes impedir que los clientes seleccionen variantes agotadas eliminando o desactivando esas variantes en la página de producto.

Limitaciones

Las personalizaciones descritas en esta página no funcionan en los siguientes casos:

  • Tus productos tienen más de una opción de producto.
  • Estás usando el tema Express y tienes la página de producto configurada para mostrar los productos en una sobreposición

Temas con y sin secciones

Pasos para los temas con secciones

Seleccionar tu tema

Los pasos para esta personalización varían según tu tema. Haz clic en el botón de tu tema antes de seguir las instrucciones a continuación:

Pasos para los temas sin secciones

Ocultar variantes agotadas

Si usas un tema sin secciones, puedes realizar estos pasos para ocultar las variantes agotadas en la página de producto.

  1. Desde el panel de control de Shopify, ve a Tienda online > Temas.
  2. Busca el tema que desees editar, haz clic en el botón para abrir el menú de acciones y, luego, haz clic en Editar código.
  3. En el directorio Fragmentos, haz clic en Agregar un nuevo fragmento.
  4. Asigna a tu nuevo fragmento el nombre remove-sold-out:
    Add new snippet
  5. Pega el siguiente código en tu nuevo archivo del fragmento:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.remove();
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Haz clic en Guardar.
  2. En el directorio Diseño, haz clic en theme.liquid.
  3. Cerca del final del archivo, justo antes de la etiqueta de cierre </body>, pega el siguiente código:
{% render 'remove-sold-out' %}
  1. Haz clic en Guardar.

Desactivar variantes agotadas

Si usas un tema sin secciones, puedes realizar estos pasos para desactivar las variantes agotadas. Las variantes siguen mostrándose en la página de producto pero no se pueden seleccionar.

  1. Desde el panel de control de Shopify, ve a Tienda online > Temas.
  2. Busca el tema que desees editar, haz clic en el botón para abrir el menú de acciones y, luego, haz clic en Editar código.
  3. En el directorio Fragmentos, haz clic en Agregar un nuevo fragmento.
  4. Asigna a tu nuevo fragmento el nombre disable-sold-out:
    Add new snippet
  5. Pega el siguiente código en tu nuevo archivo del fragmento:
{% if product.options.size == 1 %}
<script>
  const addToCartForm = document.querySelector('form[action="/cart/add"]');
  if (window.MutationObserver && addToCartForm !== null) {
    if (typeof observer === 'object' && typeof observer.disconnect === 'function') {
      observer.disconnect();
    }
    var config = { childList: true, subtree: true };
    var observer = new MutationObserver(function() {
      let variantOptions = Array.from(document.querySelectorAll('.single-option-selector option'));
      {% for variant in product.variants %}
      {% unless variant.available %}
      variantOptions.forEach(function(element) {
        if (element.value === {{ variant.title | json }}) {
            element.setAttribute('disabled', '');
        }
      });
      {% endunless %}
      {% endfor %}
      observer.disconnect();
    });
    observer.observe(addToCartForm, config);
  }
</script>
{% endif %}
  1. Haz clic en Guardar.
  2. En el directorio Diseño, haz clic en theme.liquid.
  3. Cerca del final del archivo, justo antes de la etiqueta de cierre </body>, pega el siguiente código:
{% render 'disable-sold-out' %}
  1. Haz clic en Guardar.

¿Estás listo/a para comenzar a vender con Shopify?

Prueba gratis