Jump to content

Posible error en el módulo del carrito


kitchendraw

Recommended Posts

Estimados usuarios

 

Hemos empezado a trabajar recientemente con la versión 1.5 de prestashop y estamos teniendo problemas con el módulo del carrito. Lo hemos eliminado de la cabezara y lo hemos situado en la columna derecha del front-office.

 

El problema es que cuando intentas eliminar un producto del carrito el efecto que se produce es que se actualizan las cantidades, es decir, el precio del producto eliminado se resta del total, si tiene una descripción, la descripción desaparece, pero el producto sigue apareciendo en la lista de productos. Si haces un segundo clic para eliminarlo, el producto desaparece de la lista, pero si se tiene que mostrar el texto "No hay productos", este no aparece.

 

El texto "No hay productos" solo aparece después de hacer un "reload" de la página.

 

En conclusión, hemos cogido el archivo "ajax-cart.js" y la única forma que hemos visto de solucionar esto (nuestros conocimientos de ajax no llegan mucho más allá de momento) es modificar la función "remove" de esta forma:

 

    //remove a product from the cart via ajax
   remove : function(idProduct, idCombination, customizationId, idAddressDelivery){
    //send the ajax request to the server
    $.ajax({
	    type: 'POST',
	    url: baseUri,
	    async: true,
	    cache: false,
	    dataType : "json",
	    data: 'controller=cart&delete=1&id_product=' + idProduct + '&ipa=' + ((idCombination != null && parseInt(idCombination)) ? idCombination : '') + ((customizationId && customizationId != null) ? '&id_customization=' + customizationId : '') + '&id_address_delivery=' + idAddressDelivery + '&token=' + static_token + '&ajax=true',
	    success: function(jsonData)    {
		    alert(jsonData);
		    ajaxCart.updateCart(jsonData);
		    if ($('body').attr('id') == 'order' || $('body').attr('id') == 'order-opc')
			    deleteProductFromSummary(idProduct+'_'+idCombination+'_'+customizationId+'_'+idAddressDelivery);
		    location.reload();
	    },
	    error: function() {alert('ERROR: unable to delete the product');}
    });
   },

 

Notese que hemos añadido el "reload" para que se refresque la página. Así se soluciona el problema, pero debe de ser algún tipo de bug.

 

¿Hay alguna manera distinta de solucionar esto o es posible que no tengamos bien la instalación?

¿Es posible nadie más se haya percatado de esto?

 

Gracias.

Edited by kitchendraw (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...