Jump to content

Casilla de "Envío parcial" no actualiza el precio de envío en tiempo real


Recommended Posts

Buenos días,

 

Ayer escribí este post y hoy simplemente ha desaparecido, así que tengo que reescribirlo otra vez porque necesitaría una solución o, al menos, una respuesta.

 

Al activar las opciones "Permitir ventas de productos que no están en el inventario" y "Envío parcial", si en el pedido existen productos sin stock, en el proceso de compra se activa una casilla para "Enviar el primer producto disponible primero".

 

Al pinchar sobre esta casilla el precio de envío se multiplica por dos (el pedido se divide en dos envíos). Este nuevo precio sólo se muestra si refrescas la página, pero no se actualiza en tiempo real, lo que resulta confuso.

 

La función que creo que no está actuando como debería se encuentra en cart-summary.js sobre la línea 62:

	$('#allow_seperated_package').on('click', function(){
		$.ajax({
			type: 'POST',
			headers: { "cache-control": "no-cache" },
			url: baseUri + '?rand=' + new Date().getTime(),
			async: true,
			cache: false,
			dataType: 'json',
			data: 'controller=cart&ajax=true'
				+ '&summary=true'
				+ '&allowSeperatedPackage=true'
				+ '&value='
				+ ($(this).prop('checked') ? '1' : '0')
				+ '&token='+static_token
				+ '&allow_refresh=1',
			success: function(jsonData)
			{
				if (jsonData.hasError)
				{
					var errors = '';
					for(var error in jsonData.errors)
						//IE6 bug fix
						if(error !== 'indexOf')
							errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
					if (!!$.prototype.fancybox)
					    $.fancybox.open([
				        {
				            type: 'inline',
				            autoScale: true,
				            minHeight: 30,
				            content: '<p class="fancybox-error">' + errors + '</p>'
				        }],
						{
					        padding: 0
					    });
					else
					    alert(errors);
					$('input[name=quantity_'+ id +']').val($('input[name=quantity_'+ id +'_hidden]').val());
				}
				else
				{
					if (jsonData.refresh)
						window.location.href = window.location.href;
					updateCartSummary(jsonData.summary);
					if (window.ajaxCart != undefined)
						ajaxCart.updateCart(jsonData);
					updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
					updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
					if (typeof(getCarrierListAndUpdate) !== 'undefined')
						getCarrierListAndUpdate();
					if (typeof(updatePaymentMethodsDisplay) !== 'undefined')
						updatePaymentMethodsDisplay();
				}
			}
		});
	});

La plantilla es la bootstrap-default, y la versión de Prestashop la 1.6.1.4. La url de la tienda no la puedo facilitar pues la estoy montando en local de momento.

 

Gracias, un saludo.

 

 

 

 

Link to comment
Share on other sites

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