LukBR Posted April 24, 2019 Share Posted April 24, 2019 Hola! Os expongo un ejemplo de mi tienda. Tengo 2 grupos de atributos: tallas y colores. Me gustaría que solamente aparecieran habilitadas las tallas que tienen stock en función del color seleccionado. Es decir, Atributos: Color: Azul Tallas: 36 (3 cantidades en stock) 37 (3 cantidades en stock) 38 (3 cantidades en stock) Atributos: Color: Rojo Tallas: 36 (2 cantidades en stock) 37 (0 sin stock) 38 (2 cantidades en stock) Con este escenario: Si selecciono el color Azul, deberían habilitarse/mostrarse todas las tallas (36, 37, 38). Si selecciono el color Rojo, solo deberían aparecer habilitadas las tallas 36 y 38. La talla 37 debería deshabilitarse/ocultarse. He desactivado la opción "Mostrar productos con atributos no disponibles en la página de producto". También he desactivado la opción de "Permitir ventas de productos que están fuera de stock". El problema es que estando seleccionado el color Rojo, como el color Azul tiene stock para la talla 37, esta talla sigue estando visible incluso estando el color Rojo seleccionado. ¿Hay alguna forma de ocultarlo sin necesidad de un módulo externo como "Attribute Wizards" o "Módulo Unavailable Product & Combination Disabler"? Mediante programación he conseguido deshabilitar las tallas añadiendo el siguiente código al archivo product-variants.tpl (utilizo la plantilla Warehouse), pero el stock de la variable $groups.$id_attribute_group.attributes_quantity.$id_attribute está obteniendo la suma de las cantidades de todas las combinaciones, no de la seleccionada. Por lo que, en el ejemplo anterior, tanto si selecciono el color Azul como el Rojo, la variable $id_attribute daría el mismo resultado: Talla 36 (3 + 2 = 5 cantidades en stock) Talla 37 (3 + 0 = 3 cantidades en stock) Talla 38 (3 + 2 = 5 cantidades en stock) {elseif $group.group_type == 'radio'} <ul id="group_{$id_attribute_group}"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <li class="input-container float-left"> <input class="input-radio" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}" {if $group_attribute.selected} checked="checked"{/if} {if $groups.$id_attribute_group.attributes_quantity.$id_attribute == 0}disabled{/if}> <span class="radio-label" {if $groups.$id_attribute_group.attributes_quantity.$id_attribute == 0} style="color: #dddddd; border-color: #ffffff" {/if}> {$group_attribute.name} </span> </li> {/foreach} </ul> {/if} ¿Alguien podría ayudarme con este tema? Cualquier ayuda es bien recibida. Muchas gracias! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now