ultimatum Posted September 15, 2009 Share Posted September 15, 2009 Saludos,Haber, mi intención es poner que en un minimo de 300 euros y un maximo de 30 kilos el usuario tenga los gastos de envio gratis. Prestashop solo me permite hacer por minimos, es decir que los kilos deben ser en minimo.Alguno conoce o sabe de algun metodo para poder hacer los gastos de envio como menciono? es decir, con un maximo de peso en vez de un minimo? he probado poniendo un valor negativo, pero el programa con ciertos productos se vuelve realmente loco, y hace los gastos de envio con pesos superiores a 30 kilos.Gracias Link to comment Share on other sites More sharing options...
ultimatum Posted September 15, 2009 Author Share Posted September 15, 2009 nadie conoce ninguna solucion? realmente esto es un problema grave, pues no creo que haya mucha gente que ponga los gastos de envio gratis por un pedido superior a X quilos.Basicamente, imaginaos que tengo que enviar un saco de tierra de 50 litros, obviamente si me llenan pongamos que 300 euros con sustratos de 10 euros de 50 kilos cada uno, me arruino poniendo un minimo en peso, pues lo que necesito es un maximo. Link to comment Share on other sites More sharing options...
ultimatum Posted September 15, 2009 Author Share Posted September 15, 2009 Bueno pondre la pregunta más enfocada a la programación por si alguien se ilumina ^^Alguien sabe donde está exactamente la función que calcula los pesos en el precio final del pedido? De este modo modificaré la función a mi beneficio para arreglar el problema. Link to comment Share on other sites More sharing options...
GaliciaNetWorks Posted September 16, 2009 Share Posted September 16, 2009 A ver, se me ocurre una solución "porvisional" que tal vez funcione:En la pestaña de transporte, eliges la opción Envío gratis a partir de :300€Criterio de aplicación: Según el pecio totalCreas un nuevo transportista que no acepte pedidos de + de 20 KgDefines los rangos y ya casi está Pones los rangos de precio desde 300 hasta 100000000y dices que para ese rango el PV=0De esa forma todos los pedidos fuera de ese ranfo de precios no podrían ir con ese transportistaHabría que probarlo, pero así creo que debería de funcionar sin necesidad de modificar códigos Link to comment Share on other sites More sharing options...
ultimatum Posted September 16, 2009 Author Share Posted September 16, 2009 A ver, se me ocurre una solución "porvisional" que tal vez funcione:En la pestaña de transporte, eliges la opción Envío gratis a partir de :300€Criterio de aplicación: Según el pecio totalCreas un nuevo transportista que no acepte pedidos de + de 20 KgDefines los rangos y ya casi está Pones los rangos de precio desde 300 hasta 100000000y dices que para ese rango el PV=0De esa forma todos los pedidos fuera de ese ranfo de precios no podrían ir con ese transportistaHabría que probarlo, pero así creo que debería de funcionar sin necesidad de modificar códigos Ostras, magnifica idea GaliciaNetWorks, voy a probarla y te comento, muchas gracias por tu respuesta Link to comment Share on other sites More sharing options...
GaliciaNetWorks Posted September 16, 2009 Share Posted September 16, 2009 Bueno, espero que te sirva de ayuda. No lo he probado pero "en principio" debería de funcionar.Si no, pues seguiremos pensando a ver que se puede hacerUn saludo!! Link to comment Share on other sites More sharing options...
ultimatum Posted September 16, 2009 Author Share Posted September 16, 2009 Bueno, espero que te sirva de ayuda. No lo he probado pero "en principio" debería de funcionar.Si no, pues seguiremos pensando a ver que se puede hacerUn saludo!! Saludos,Lo he probado, pero prestashop no permite poner un transportista por rango de precios y otro por pesos, si seleccionas por rango de pesos todos son por pesos, si cojes el rango de precios todo son precios, por lo que la combinación que me propones no puedo hacerla Desdeluego en el tema de transportes las opciones son realmente pocas. Link to comment Share on other sites More sharing options...
ultimatum Posted September 17, 2009 Author Share Posted September 17, 2009 Bueno encontre la solución aplicando un poco de mis principios de código de php.Primero explico claramente que es lo que quería, por si alguien encuentra el mismo problema, y explico seguidamente como solucionarlo.Mi objetivo era conseguir poner que por un carrito de más de 300 euros y por menos de 30 kilos los gastos de envio fueran gratuitos. Hago incapié en la y por que prestashop solo permita un "o" es decir, o por más de 300 euros o por más de 30 kilos, si amigos por mas de X kilos, algo bastante atroz teniendo en cuenta que los gastos de envio por valores altos puede ser tremendo el sablazo.Mi tienda vende productos de agricultura, y desdeluego no ppuedo poner que los gastos de envio los regale por un valor de mas de 300 kilos cuando me pueden poner 300 euros en sustratos, que llenaria un camion entero de peso.Es decir, que mi intencion era cambiar que se aplicase tanto el minimo de euros para los gastos de envio gratis y también se aplicase para el peso, en este caso el peso en vez de ser por un carrito más pesado de lo que nosotros establecemos en gastos de envio gratis por peso, lo quería por menos peso de o que nosotros establecemos en gastos de envio gratis por peso.Un claro ejemplo:Prestashop de serie viene de este modo:Gastos de envio gratis cuando:Superas X dinero en el carritoSuperas X peso en el carrito:Mi intención era:Gastos de envio gratis cuando:Superas X dinero en el carritoyNO superas X peso en el carritoDicho esto procedo a explicar como lo he arreglado.Primeramente debeis localizar vuestro cart.php que se encuentra en la carpeta raiz de vuestro hosting, metido en una carpeta llamada classes, es decir classes/cart.phpBuscais por la linea 684 el siguiente codigo: // Free fees if (isset($configuration['PS_SHIPPING_FREE_PRICE']) AND $orderTotal >= floatval($configuration['PS_SHIPPING_FREE_PRICE']) AND floatval($configuration['PS_SHIPPING_FREE_PRICE']) > 0) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0) return $shipping_cost; y lo sustituiis por este otro: if (isset($configuration['PS_SHIPPING_FREE_PRICE']) AND $orderTotal >= floatval($configuration['PS_SHIPPING_FREE_PRICE']) AND floatval($configuration['PS_SHIPPING_FREE_PRICE']) > 0){ if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() <= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0) return $shipping_cost; } De este modo obligamos al carrito a dar los gastos de envio solo en caso de que se cumplan ambas sentencias.Saludos y espero que le sirva a alguno de ayuda. Link to comment Share on other sites More sharing options...
Claimor Posted January 12, 2011 Share Posted January 12, 2011 Algien lo ha probado? porque ami no me funciona me interesaría mucho esta opcion... si alguien me ayuda se lo agradeceria... Link to comment Share on other sites More sharing options...
Claimor Posted January 18, 2011 Share Posted January 18, 2011 Porfavor, ninguna ayuda? Link to comment Share on other sites More sharing options...
AMA1MD Posted January 22, 2011 Share Posted January 22, 2011 http://www.prestashop.com/forums/viewthread/60743/configuring___using_prestashop/free_shipping_issue Link to comment Share on other sites More sharing options...
Claimor Posted January 22, 2011 Share Posted January 22, 2011 http://www.prestashop.com/forums/viewthread/60743/configuring___using_prestashop/free_shipping_issue Muchas gracias, esta solución si me ha funcionado Link to comment Share on other sites More sharing options...
Recommended Posts