cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Variantes con SKU y Stock en Página de Productos

FdoGC
Nuevo miembro
1 0 0

Hola a todos!

Les cuento, tengo mi página de productos creada a través de Pagefly, todo OK con esto. 

Dentro de la página, inserté un elemento HTML para que muestre el SKU de la variante seleccionada:

FdoGC_2-1623295372667.png

 

Al principio tuve problemas porque solo mostraba la SKU de la primera variante, y al seleccionar otra variante, no se actualizaba el SKU

Desde soporte de Pagefly me ayudaron a solucionarlo ampliando el código HTML a lo siguiente:

 

SKU: {%- assign current_variant = product.selected_or_first_available_variant -%}
<span id='pf-variant-sku'>{{ current_variant.sku }}</span>
<script>
const elId = 'pf-variant-sku';
window.addEventListener("load", function(event) {
const el = document.getElementById(elId);
const box = el.closest('[data-pf-type="ProductBox"]')
const pfvariant = box.querySelector('[data-pf-type="ProductVariant"]')
const selects = $(pfvariant).find("select")
const inputs = $(pfvariant).find("input")
const pfKey = Array.from(box.classList).find(item => item.includes("pf-"))
const productId = box.getAttribute("data-product-id")
function handleChange () {
const currentVariant = __pageflyProducts[productId].pfCurrentVariant[pfKey]
// custom code below
el.innerHTML = currentVariant.sku;
}
if (__pageflyProducts && __pageflyProducts[productId]) {
selects.change(handleChange)
inputs.change(handleChange)
}
console.log("Tất cả các tài nguyên đã được tải nạp hoàn tất!");
});
</script>

 

A modo de ejemplo, así funciona:

FdoGC_0-1623295187059.png

 

FdoGC_1-1623295240786.png

La pregunta es, cómo puedo adaptar ese código para que el Stock de la variante también se actualice?

Si se fijan, abajo de SKU en la foto está el stock disponible. Funciona bien para la primera variante, pero no se actualiza. Desde soporte Pagefly no me pudieron ayudar con esto.

Actualmente el código es el siguiente:

Stock: {%- assign current_variant = product.selected_or_first_available_variant -%}
<span>{{ current_variant.inventory_quantity }}</span>

Probé cambiando en el código de más arriba -el que me adaptaron los de Pagefly- todos los "sku" por inventory_quantity pero no funciono.

Qué necesito adaptar del primer código para conseguir que el stock cambie así como lo hace el SKU?

 

 

0 Me gusta