Jump to content

Problemas al añadir productos al carrito del backoffice


Recommended Posts

Buenas 😀,

Estamos teniendo problemas en mi empresa a la hora de crear pedidos desde el backoffice.

Cuando pulsas el botón de añadir pedido, después buscas al cliente, y buscas el producto a añadir, todo funciona correctamente hasta ahí. El problema viene cuando pulso añadir al carrito, que no se añade nada, pero el producto realmente si se añade y se queda reflejado cuando actualizo la página, pero en el instante no se muestra el producto añadido, tengo que refrescar la página y seleccionar el carrito que quedó creado.

Siguiendo la traza del código , he llegado a esta función que esta situada en /www/admin8161/themes/default/template/controllers/orders/form.tpl linea 871 en mi caso. Si a este ajax le añado una otra función de callback para error (error: function(res)) veo que el código pasa por ahí, y no por success. Soy un poco novato en Javascript, lo único que se me ha ocurrido para continuar ha sido mostrar por consola el valor de res, en el veo que todos los datos del paquete JSON están pero tienen cosas raras, por ejemplo, en vez de poner : pone V.

function updateQty(id_product, id_product_attribute, id_customization, qty)
	{
		$.ajax({
			type:"POST",
			url: "{$link->getAdminLink('AdminCarts')|addslashes}",
			async: true,
			dataType: "json",
			data : {
				ajax: "1",
				token: "{getAdminToken tab='AdminCarts'}",
				tab: "AdminCarts",
				action: "updateQty",
				id_product: id_product,
				id_product_attribute: id_product_attribute,
				id_customization: id_customization,
				qty: qty,
				id_customer: id_customer,
				id_cart: id_cart,
			},
			success : function(res)
			{
				displaySummary(res);
				var errors = '';
				if (res.errors.length)
				{
					$.each(res.errors, function() {
						errors += this + '<br />';
					});
					$('#products_err').removeClass('hide');
				}
				else
					$('#products_err').addClass('hide');
				$('#products_err').html(errors);
			}
		});
	}

 

Llevo peleándome con este problema en los ratos libres que voy sacando ya casi un mes y no soy capaz de encontrar el problema de porque no se añade el producto nada más pulsar, si alguien supiera darme pautas o como solucionarlo, estaría muy agradecido.

Muchas gracias de antemano,

Un saludo.

Link to comment
Share on other sites

He solucionado el problema. Dejo aqui la solución por si alguien más tiene el mismo problema.

Resulta que cuando una compañera miraba archivos con Notepad++, guardaba sin darse cuenta los ficheros .php y .js en formato UTF-8, y esto genera problemas como el indicado anteriormente, ya que los archivos php hay que guardarlos en UTF-8 sin BOM. Como hace mucho tiempo que tenemos este problema, no sabíamos cual era el fichero que generaba este problema, ya que hemos editado muchos archivos a lo largo de este tiempo.

Así que para solucionarlo he hecho un script que reconoce ficheros con extensión .php codificados en UTF-8 con BOM, y lo he ejecutado en el directorio de una copia de la página de hace unos días que tengo en local. Tras corregir un par de ficheros funciona perfectamente.

Si alguien tiene el mismo problema, que escriba aquí y le mando el script.

 

Link to comment
Share on other sites

  • 1 year later...

Hola MedinaAJ,

Tengo el mismo problema que describes tú aquí... cuando intento crear un pedido desde el backoffice, los botones realizan la acción correspondiente pero no lo reflejan en pantalla. Para ver los cambios, tengo que salir, volver a entrar a crear un pedido manual, volver a seleccionar el mismo cliente y carrito, y ya por fin los veo.

¿Por favor, puedes pasarme el script por si mi problema fuera el mismo que has tenido tú?

Muchas gracias por adelantado.

Juan.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...