MSI Posted March 1, 2016 Share Posted March 1, 2016 Saludos mi problema es que yo le pongo en el loyalty de cada 1€ en 15 % aunque eso lo hace bien siempre que tenga el precio del producto 3 cifras es decir si es un producto que vale 1000€ falla cogiendo una unica cifra Para que lo veais mas sencillo si poneis el modulo 1punto por cada euro, cuando el precio es 1000 cojera solo el 1 como precio si el precio es 6000€ el bono sera 0.9 (6(primera cifra de los numeros de 4) *0.15 ) Uso prestashop PrestaShop™ 1.6.0.14 - 1.192s modulos actualizados muchas gracias y si hay alguna duda con el problema porfavor decirmelo y lo explico mejor gracias desde ya un saludo. Link to comment Share on other sites More sharing options...
MSI Posted March 3, 2016 Author Share Posted March 3, 2016 Nadie me puede echar una mano? gracias Link to comment Share on other sites More sharing options...
Gabriel Perez Posted March 3, 2016 Share Posted March 3, 2016 Puedes poner un enlace a tu tienda para verlo mas claramente? Link to comment Share on other sites More sharing options...
MSI Posted March 4, 2016 Author Share Posted March 4, 2016 Lo primero muchas gracias por el interes te pongo dos enlaces para que veas exactamente lo que es Un ejemplo correcto http://www.dabra.es/alianzas-de-platino-argyor/14154-alianza-boda-platino-y-diamantes-0593003.html Uno erroneo http://www.dabra.es/crea-tu-joya-con-diamantes/11310-anillo.html#/1156-metal-oro_blanco_18_qt/1161-pureza_de_diamante-si1/1167-modelo_de_anillo-anillo_sofia_/1189-color_de_diamante-_g_blanco_intenso/1192-peso_de_diamante-1_0_quilates_unos_6_4mm_de_ancho En cuanto el precio pasa a 4 cifras el bono pasa a ser el 15% de la primera cifra en este caso es 6 pues el bono es 0,9 (6x0,15=0,9) Gracias de nuevo Link to comment Share on other sites More sharing options...
Gabriel Perez Posted March 4, 2016 Share Posted March 4, 2016 Buenos días. Acabo de comprobarlo en un prestashop recien instalado, con el modulo actualizado y no genera ese problema. Antes de nada, si puedes actualizar tu módulo, actualízalo. Por lo que veo, me da la sensación que está cogiendo el precio formateado (6 600 € en el ejemplo) y tratando de usarlo para hacer el calculo (en vez de usar el precio sin formatear). Esto causaría, que al transformar dicha cadena a numero, eliminara todo lo que hay después del espacio (y por eso solo coge el primer carácter) Link to comment Share on other sites More sharing options...
MSI Posted March 4, 2016 Author Share Posted March 4, 2016 Buenos días. Acabo de comprobarlo en un prestashop recien instalado, con el modulo actualizado y no genera ese problema. Antes de nada, si puedes actualizar tu módulo, actualízalo. Por lo que veo, me da la sensación que está cogiendo el precio formateado (6 600 € en el ejemplo) y tratando de usarlo para hacer el calculo (en vez de usar el precio sin formatear). Esto causaría, que al transformar dicha cadena a numero, eliminara todo lo que hay después del espacio (y por eso solo coge el primer carácter) He instalado un prestashop ahora mismo le e puesto 1€ 1punto y un producto que vale 6000 me da 6 ¿Como podriamos solucionarlo? te agradezco mucho la ayuda Link to comment Share on other sites More sharing options...
Gabriel Perez Posted March 4, 2016 Share Posted March 4, 2016 El modulo es el oficial? Que versión del modulo y Prestashop estas usando? Link to comment Share on other sites More sharing options...
MSI Posted March 4, 2016 Author Share Posted March 4, 2016 si si es el oficial recien descargado el presta y instaldo, e descargado desde el panel el modulo Link to comment Share on other sites More sharing options...
Gabriel Perez Posted March 4, 2016 Share Posted March 4, 2016 (edited) Como te comenté, hay un error de conversión en el js del tema (themes/default-bootstrap/js/modules/loyalty/loyalty.js) : $(document).ready(function() { $(document).on('change', '#our_price_display', function(e){ updateLoyaltyView(parseInt($('#our_price_display').text())); }) updateLoyaltyView(parseInt($('#our_price_display').text())); }); Como ese precio se convierte a entero (y el segundo caracter es un espacio) esto hace que solo use el primer caracter como precio del articulo. Podrias arreglarlo de la siguiente forma, aunque no creo que debiera ser asi ... $(document).ready(function() { $(document).on('change', '#our_price_display', function(e){ updateLoyaltyView(parseInt($('#our_price_display').text().replace(" ", ""))); }) updateLoyaltyView(parseInt($('#our_price_display').text().replace(" ", ""))); }); Edited March 4, 2016 by Gabriel Perez (see edit history) Link to comment Share on other sites More sharing options...
MSI Posted March 4, 2016 Author Share Posted March 4, 2016 Perfecto¡¡ parece que esta funcionando correctamente muchisimas gracias¡¡ voy a revisarlo todo. Un saludo y gracias de nuevo Link to comment Share on other sites More sharing options...
Recommended Posts