En Magavenue que regularmente las mismas preguntas por e-mail. 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:

"¿Cómo en Prestashop , para solicitar el envío gratuito a un país? o una sola compañía? "Ventanilla de recepción de boletas

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 fresco puerto.
Se encuentra enfrentado con un problema:

-bien utilizamos un cálculo de gastos de envío por el precio. Pero tendrás 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 usted debe ofrecer algunas o la zona donde se encuentra el cliente, o usa portador.

En resumen, existe una solución simple. Por desgracia, es cambiar uno de clase Prestashop. En general, se puede pasar por alto por un módulo, pero aquí sería demasiado complicado. Es por ello que le recomendamos que no ponga en su lugar.

Si usted decide hacer, pensar antes de hacer cualquier cambio, de realizar una copia de seguridad completa de su tienda, y sobre todo mantener un historial de los archivos que haya cambiado para una posible actualización.

Hablamos por PrestaShop 1.3.1, la modificación se puede aplicar a las versiones anteriores, se acaba de tener cuidado donde usted va y coloca el código.

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

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

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

Tendremos cambiamos esta línea, de la siguiente manera:

if ($ orderTotalwithDiscounts> = floatval ($ free_fees_price) Y floatval ($ free_fees_price)> 0 Y intval ($ field_id) == 6)
return $ shipping_cost;

Aquí nos preguntamos qué está disponible el franqueo solamente 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 una compañía aérea de la siguiente manera:

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

Por supuesto que sería posible hacer un módulo para establecer directamente de la Oficina Virtual, a qué compañía o qué área queremos ofrecer el coste de envío. Continuará ...

Palabras clave:

, , ,

21 comentarios por qué no dejar a los suyos?

No vamos a implementar el soporte para los comentarios de un problema técnico con uno de nuestros módulos. Gracias a que nos contacte directamente con nuestro formulario de contacto !

Tutorial 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 debería tener que hacer esto, entonces sí, se debe utilizar una configuración o investigación más que el crudo Identificación.

Magavenue 26 de octubre 2012 a las 10 horas 22 minutos

Hola a todos,

el problema (este no es el método, pero el problema ... PrestaShop otra vez) es que durante la edición de un portador entonces sus cambios id_carrier.
Por lo tanto, no es una solución fiable si que administra el sitio no es el webmaster ya que esto puede cancelar cualquier transporte gratuito si el administrador quiere por ejemplo para cambiar el logotipo de vehículo u otro.

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 no trabajar mano FO, yo quería saber si teníamos el mismo comando, o no?

Gracias de antemano por su ayuda.

Un cordial saludo

Poupet 14 de julio 2012 a las 13 h 53 min

Escribir un comentario