Prestashop es uno de los grandes en sistemas ecommerce, sus funcionalidades integradas en el núcleo son mucho más potentes y centradas en el negocio de una tienda online que plataformas como Woocomerce que deben ir dotándola de ciertos plugin para mejorar sus funcionalidades.
Uno de nuestros clientes, un supermercado online, precisaba de una oferta de portes gratis si superabas los 69€ de peso, con la limitación de algunos productos que tenían un gran peso, imaginad productos de 6 Kg con poco margen de venta, si regalamos los portes puede suponer para el comercio una perdida considerable.
Desde la versión 1.4 de Prestashop las reglas de portes y transportistas han sido bastante potentes, pero siempre han contado con la limitación de no poder conjugar reglas de transporte que una precio y peso.
Configurar costes de envío en Prestashop
En Prestashop las reglas de envió van por zonas, por lo que primeramente debemos diferenciar que zonas de envió tenemos, normalmente el transportistas o agencia de transporte es quien debe darnos esta información.
Para ello en la versión de Prestashop 1.7 nos vamos a Internacional -> Ubicación Geográficas - > Zonas
Una vez tenemos definida las zonas que tienen costes de envío, debemos colocar las provincias o países que forman parte de cada una de las zonas creadas.
Para ello nos vamos a la pestaña Estados, podemos buscar dentro del nombre y elegir a qué zona pertenecen cada uno de ellos.
Parece algo complicado, pero en la instalación por defecto prácticamente viene configurado.
En la mayoría de las tiendas online nosotros solo debemos configurar la zona provincial de la tienda donde los portes, por cercanía, son algo diferentes al resto de la provincial.
Una vez tenemos las zonas y la composición de países y ciudades que la componen debemos configurar que precio de envió y peso tiene cada zona.
Para realizarlo entramos en Transporte -> transportista.
Creamos un nuevo transportista
El tiempo de tránsito es un parámetro de información que aparecerá durante el proceso de compra y que dará una estimación del tiempo de entrega de por ejemplo 24/48 horas.
Le damos a siguiente donde nos aparecerán las zonas y rangos de pesos.
Podemos añadir tantos rangos como sean necesarios para configurar correctamente los envíos.
Ahora debemos configurar si nuestro transportista tiene algún tipo de limitación de altura, profundidad o peso o qué roles de nuestra tienda podrán usarlo.
Imaginad que tenemos una tienda B2B y B2C y queremos tener distintos tipos de transporte.
Esta sería una forma muy sencilla para poder parametrizar.
Por último, tendremos un resumen de las reglas creadas y la opción para activar o desactivarlo.
Bien ya tenemos nuestro transportista configurado en nuestra tienda online, pero Prestashop admite aún más parametrizaciones como gastos adicionales de transporte o reglas de portes gratis por importe o por peso.
Para ello nos iríamos a Transporte -> Preferencias
Como veis aquí hemos añadido portes gratis a partir de 60€ pero queremos limitar el peso como máximo a 25 Kg. Para ello vamos a modificar el Core de Prestashop en la clase Cart. Php y conseguir así no perder dinero con la venta de los productos más pesados.
Nuestras modificaciones no queremos que impidan actualizaciones de seguridad o actualizaciones de parches para Prestashop, queremos que sean actualizables y compatibles con futuras versiones. La ventaja de utilizar Prestashop 1.7 es que permite hacer override de estas clases sin perder seguridad ni fiabilidad de su tienda online.
Para ello en la carpeta override de la raíz de Prestashop creamos la carpeta “clases” y dentro un archivo llamado cart. Php
class Cartextends CartCore{
}
Bien la función que tenemos que hacer override dentro de Prestashop es:
getPackageShippingCost
Para ello mejor copiarla de la clase original y modificaremos sobre la línea 200
if (isset($configuración['PS_SHIPPING_FREE_PRICE'])) { $free_fees_price = Tools::convertPrice((float)$configuration['PS_SHIPPING_FREE_PRICE'], Currency::getCurrencyInstance((int)$this->id_currency));
Como veis dentro de la comparativa de portes gratis hemos añadido la comparativa: si el peso total del carrito que se calcula con esta función: $this->getTotalWeight($product_list)
es inferior a 25.
Ahora debemos borrar nuestra cache para que nuestro cambio quede reflejado en la tienda online.
Vamos a Parámetros Avanzados -> Rendimiento - > Borrar cache
Cómo habéis visto configurar los portes en función del peso y del precio de los productos es sencillo en Prestashop. Si tenéis una tienda online debéis tener en cuenta este tipo de detalles para que las ventas no supongan una pérdida para el negocio ya que muchas veces los envíos terminan siendo más costosos que la venta que se ha producido.
DigitalDot Servicios Informáticos, S.L. utiliza cookies propias y de terceros para mejorar nuestros servicios y mostrarte publicidad relacionada con sus preferencias mediante el análisis de tus hábitos de navegación. Puedes aceptarlas con el botón "Aceptar", rechazarlas en el botón "Rechazar" o configurarlas con el botón "Gestionar preferencias". Puedes consultar más información detallada sobre las cookies utilizadas en este sitio web desde nuestra política de cookies.
Funcional
Siempre activo
Las cookies funcionales son absolutamente imprescindibles para que el sitio web funcione correctamente. Estas cookies garantizan las funcionalidades básicas y las características de seguridad del sitio web, de forma anónima.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos.Las cookies estadísticas se utilizan para entender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre las métricas del número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
Marketing
Las cookies de marketing son necesarias para crear perfiles de usuario para enviar y personalizar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.