En este pequeño tutorial, mostraremos como crear una regla de carrito que solo se aplique si los productos  del carrito NO pertenecen a una determinada categoría. Por ejemplo, deseamos tenes un descuento del 10% para todo el catalogo, pero no deseamos que ese descuento se aplique si los productos comprados pertenecen a la categoría HOT SALE (ID 10).

Primero creamos la regla de descuento como lo hacemos normalmente, y luego modificaremos el archivo CartRule.php.

El fichero que se encarga de validar los cupones es el  classes/CartRule.php, dentro del mismo, hay una función llamada "checkValidity".

Lo que haremos es añadir al principio de dicha función nuestro código, pero para ello podemos crear un archivo llamado CartRule.php dentro de la carpeta overrides/classes/ y crear el override, o directamente modificar el archivo original en classes/CartRule.php (si actualizamos PrestaShop se pierde el cambio y hay que hacerlo de nuevo). Hay cientos de tutoriales para hacer overrides, por lo que nos centraremos en la función en si solamente.

Lo unico que debemos cambiar, es el código de la categoría que evita que se cumpla la regla para aplicar el Voucher. En este caso es la 10

Producto agregado a favoritos
Producto agregado para comparar

Utilizamos cookies, propias y de terceros, para medir y obtener datos estadísticos de la navegación de los usuarios. A su vez, utilizamos cookies analíticas y de personalización para, por ejemplo, recordar el inicio de sesión a la cuenta de usuario o registrar las preferencias del usuario. Puedes configurar y aceptar el uso de cookies mediante los botones que se muestran a continuación, y modificar las opciones de tu consentimiento en cualquier momento visitando nuestra Política de Cookies. Asimismo, puedes obtener más información en “Configurar Cookies”.