Cestas de la compra con cupones de descuento caducados

Hace unos días descubrimos un pequeño bug en las últimas versiones de PrestaShop. El bug es que PrestaShop permite tener en la cesta de la compra vales de descuento ya caducados. El caso es el siguiente:

Un cliente añade hoy a su cesta de la compra un cupón de descuento que caduca mañana, sin embargo no realiza la compra hasta pasados dos días, por lo tanto, no podría disfrutar del vale descuento. Pero PrestaShop lo permite al tener el cupón añadido con anterioridad a la cesta de la compra. Es decir, no realiza una segunda verificación de los cupones descuentos añadidos a la cesta.

Para solucionar este problema hemos hecho un override sobre el controlador: Controllers/Front/OrderController.php concretamente en su función: initContent()

public function initContent()
    {
        $cupones = $this->context->cart->getCartRules();
        foreach ($cupones as $key => $value) {
            $cr = new CartRule($value['id_cart_rule']);
            if (!$cr->checkValidity($this->context, true, false)) {
                $this->context->cart->removeCartRule($value['id_cart_rule']);
            }
        }
        return parent::initContent();
    }

Lo que hace la función es simplemente recorrer los vales descuento o CartRule asociadas al carro de la compra o cart y quitar los que ya no son validos antes de continuar con la ejecución de la función en la clase padre.

Con esto y más ¡tu tienda online siempre preparada!

Te puede interesar

  • Entrada

    Forzar stock en el listado de productos

    Hace unos días nos surgió un pequeño problema en una de las tiendas que administramos en Tiendaprest. Hicimos un desarrollo a medida para que los productos tipo pack tomasen su stock con la cantidad mínima disponible de los productos contenidos en el pack, es decir, si un pack contiene el producto A y el producto …

    Seguir leyendo

  • Entrada

    Controlar el stock en los packs

    Hace unos días uno de nuestros clientes nos reportó un problema con PrestaShop que afecta al menos a sus versiones 1.7.3.0 y anteriores. La incidencia surgía cuando se vendía a la vez un producto pack y un producto contenido en el mismo, PrestaShop no tenía en cuenta el stock total del producto contenido y permitía …

    Seguir leyendo

  • Entrada

    Añadir columnas a los listados del backoffice

    En este post vamos a contar como añadir columnas extras a tus listados del backoffice a través del hook: actionAdmin <ControllerName> ListingFieldsModifier En muchas ocasiones tenemos que mostrar columnas personalizadas en los listados que genera PrestaShop en su backoffice y además necesitamos que estas columnas se puedan filtrar y exportar, pues bien, el mejor método …

    Seguir leyendo

¿Necesitas ayuda más avanzada para solucionar tus problemas?

Contáctanos o echa un vistazo a nuestros servicios, entre los cuales podrás encontrar varios planes de mantenimiento de Prestahop.

Nuestros servicios

Impulsa la venta online y haz crecer tu negocio en poco tiempo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *