En Magavenue que regularmente las mismas preguntas por correo electrónico. Es por eso que vamos a reanudar algunas preguntas en el blog, para proporcionar una explicación más clara.

Uno de estos temas es el siguiente:

"¿Qué hay de PrestaShop , para solicitar el envío gratuito a un país? o a una sola compañía? "

De hecho, la pregunta es perspicaz, si alguna vez un comerciante decide utilizar el cálculo de los gastos de envío por peso y no por el precio, entonces no es posible separar las áreas o vehículos, para ofrecer fresca puerto.
Se encuentra enfrentado con un problema:

-ya sea utilizamos un cálculo de los gastos de envío por el precio. Pero usted puede tener el problema de un objeto pesado no muy caro, o un objeto muy caro, no muy pesado. Queda por esperar que el promedio de los dos ... bueno, esto no es necesariamente la solución ideal para todos.

-ya sea que usted ofrece 50 € envío, pero debe ofrecer una parte o la zona donde se encuentra el cliente, o el vehículo utilizado.

En resumen, existe una solución sencilla. Por desgracia, es cambiar una de clase Prestashop. En general se puede moverse en un módulo, pero aquí sería demasiado complicado. Es por ello que no se recomienda para poner en su lugar.

Si usted elige para lograrlo, piense antes de hacer cualquier cambio, de hacer una copia de seguridad completa de su tienda, y sobre todo mantener un historial de los archivos que ha cambiado para una posible actualización.

Nos hablan por PrestaShop 1.3.1, la modificación se puede aplicar a las versiones anteriores, se acaba de tener cuidado a donde vaya y colocar el código.

En Cart.php archivo en la carpeta Clases. Tendrá alrededor de la línea 833 el siguiente código:

if ($ orderTotalwithDiscounts> = floatval ($ free_fees_price) Y floatval ($ free_fees_price)> 0)
devolver $ shipping_cost;

Está claro que si la cantidad total de la orden (con el cupón incluido) excede la cantidad de portes pagados, a continuación, le ofrecemos el coste de envío (en ese momento $ shipping_cost = 0).

Sólo tendremos que editar esta línea de la siguiente manera:

if ($ orderTotalwithDiscounts> = floatval ($ free_fees_price) Y floatval ($ free_fees_price)> 0 Y intval ($ IdDeZona) == 6)
devolver $ shipping_cost;

Aquí nos preguntamos qué el franqueo se ofrece sólo si el área de entrega es de 6 (en nuestro ejemplo, hemos creado un área específica cuyo identificador es 6.

También puede limitarse a un portador de la siguiente manera:

if ($ orderTotalwithDiscounts> = floatval ($ free_fees_price) Y floatval ($ free_fees_price)> 0 Y intval ($ id_carrier) == 2)
devolver $ shipping_cost;

Por supuesto que sería posible hacer un módulo para configurar directamente desde el back office, para qué compañía o qué área queremos ofrecer el coste de envío. Continuación ...

Palabras clave:

, , ,

21 comentarios por qué no dejar que el tuyo?

No traer apoyo a los comentarios de un problema técnico con uno de nuestros módulos. Gracias a que nos contacte directamente con nuestro formulario de contacto !

Tuto perfecto! ¡Gracias!

Cosméticos hombre 29 de abril 2014 a las 9 horas 52 minutos

níquel! gracias

Provincia 25 de abril 2014 a las 9 horas 10 minutos

Mathix,

Hemos propuesto una solución sencilla para un usuario normal puede ponerlo en línea.

Si el demandante tenía que hacer esta operación, entonces sí, se debe utilizar una configuración o de investigación en lugar de la identificación del crudo.

Magavenue 26 de octubre 2012 a las 10 horas 22 minutos

Hola a todos,

el problema (que no es el método, pero el problema prestashop ... otra vez) es que al editar un portador entonces sus cambios id_carrier.
Por lo tanto, no es una solución fiable si el que administra el sitio no es el webmaster ya que podría invalidar cualquier transporte gratuito si el administrador, por ejemplo, quiere cambiar el logotipo u otro vehículo.

A menos que me equivoque ...

Mathix 04 de octubre 2012 A 15 h 23 min

Hola,

Gracias por el tutorial, pero he probado en la versión 1.4.7.3, pero mi página ya no funciona lado FO, yo quería saber si teníamos el mismo comando, o no?

Gracias de antemano por su ayuda.

Cordialmente

Poupet 14 julio 2012 Un 13H 53 min

Escribir un comentario