Jump to content

[SOLUCIONADO] Peso máximo para gastos de envio


ultimatum

Recommended Posts

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

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

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

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 total

Creas un nuevo transportista que no acepte pedidos de + de 20 Kg
Defines los rangos y ya casi está
Pones los rangos de precio desde 300 hasta 100000000
y dices que para ese rango el PV=0

De esa forma todos los pedidos fuera de ese ranfo de precios no podrían ir con ese transportista
Habría que probarlo, pero así creo que debería de funcionar sin necesidad de modificar códigos

Link to comment
Share on other sites

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 total

Creas un nuevo transportista que no acepte pedidos de + de 20 Kg
Defines los rangos y ya casi está
Pones los rangos de precio desde 300 hasta 100000000
y dices que para ese rango el PV=0

De esa forma todos los pedidos fuera de ese ranfo de precios no podrían ir con ese transportista
Habrí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

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 hacer
Un 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

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 carrito
Superas X peso en el carrito:

Mi intención era:

Gastos de envio gratis cuando:
Superas X dinero en el carrito
y
NO superas X peso en el carrito


Dicho 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.php

Buscais 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

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