Todas las colecciones
Avanzado
Ocultar métodos de pago por etiqueta de producto
Ocultar métodos de pago por etiqueta de producto

Deshabilita o habilita la recolección, la entrega o el envío para ciertos grupos de productos según la etiqueta del producto

María Banegas avatar
Escrito por María Banegas
Actualizado hace más de una semana

Al utilizar etiquetas de productos, puedes ocultar los métodos de pago agregando un fragmento de código.

Por ejemplo, si tienes ciertos productos que solo están disponibles para retiro y deseas ocultar otros métodos, como entrega y/o envío.

Si deseas mostrar todos los métodos a tus clientes y solo mostrar un mensaje de error cuando no estén disponibles, puedes utilizar nuestro función nativa de Activación condicional.

Lee más sobre las etiquetas y cómo agregarlas a tus productos en el artículo Agregar etiquetas de Shopify.

Comunícate con nosotros en [email protected]; estaremos encantados de implementar esto por tí. Continúa solo si te sientes cómodo editando el código.


Agregar un fragmento de código

Estos pasos se aplican solo al widget Zapiet - Recogida + Entrega versión 1 o 2. ¿Cuál versión del widget estoy usando?

Si tienes una versión heredada, comunícate con nosotros a través del chat y estaremos encantados de actualizar el widget a la versión más nueva para tí.

Deberás añadir el código en Zapiet - Recogida + Entrega > Ajustes > Desarrolladores en Scripts personalizados.

function hasTag(tag) {
var products = ZapietWidgetConfig.products;
for (var i = 0; i < products.length; i++) {
var tags = products[i].tags;
for (var j = 0; j < tags.length; j++) {
if (tags[j] == tag) {
return true;
}
}
}
return false;
}
if (hasTag("Delivery Only")) {
Zapiet.show("delivery");
Zapiet.hide(["shipping", "pickup"]);
}
else if (hasTag("Pickup Only")) {
Zapiet.show("pickup");
Zapiet.hide(["shipping", "delivery"]);
}

La segunda mitad de este código debe modificarse para adaptarse a tus necesidades; tiene dos partes, cuando necesitas usar dos etiquetas diferentes.

La primera parte solo mostrará la entrega y ocultará el envío y la recogida de los artículos etiquetados con "Solo entrega".

Para modificar el código:

  • Reemplaza "Solo entrega" con la etiqueta que has creado

    • Las etiquetas distinguen entre mayúsculas y minúsculas, así que asegúrate de que el valor coincida exactamente con la etiqueta.

  • Reemplaza "entrega" con el método que deseas mostrar

  • Reemplaza ([“envío”, “recogida”]) con los métodos que deseas ocultar

if (hasTag("Delivery Only")) {
Zapiet.show("delivery");
Zapiet.hide(["shipping", "pickup"]);

La segunda parte mostrará solo la recogida de artículos con la etiqueta "Solo recogida" y ocultará el envío y la entrega. Si también necesitas agregar varias etiquetas:

  • Reemplaza "Solo recogida" con la etiqueta que ha creado

    • Las etiquetas distinguen entre mayúsculas y minúsculas, así que asegúrate de que el valor coincida exactamente con la etiqueta.

  • Reemplaza "recogida" con el método que deseas mostrar

  • Reemplaza ([“envío”, “entrega”]) con los métodos que deseas ocultar

} else if (hasTag("Pickup Only")) {
Zapiet.show("pickup");
Zapiet.hide(["shipping", "delivery"]);
}

Nota

Si muestras u oculta más de un método, debe ser una matriz.

  • Si estás usando una matriz, usa paréntesis y corchetes.

([shipping”, “delivery”])
  • Si estás utilizando solo un método, usa solo paréntesis

(“pickup”)

Solución de problemas

Si los cambios no son visibles en la página del carrito, asegúrate de que:

  • Las etiquetas agregadas en los fragmentos de código coinciden exactamente con la etiqueta de tu producto (distinguen entre mayúsculas y minúsculas).

  • Tiene jQuery agregado en tus archivos de tema para la versión 2.0 de la tienda en línea. De lo contrario, puede agregarlo encima del archivo del carrito en tus archivos de tema:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
¿Ha quedado contestada tu pregunta?