He estado trabajando durante 2 días para aplicar cupones múltiples en el carrito. Sé que hay módulos disponibles para eso. Pero no quiero usarlo. Quiero un código personalizado para poder aplicar más de 1 código de cupón en un solo pedido.
Por favor ayuda. Estoy muy cansado después de trabajar en lo mismo.
ce-1.9.0.1
coupon-codes
Zaheerabbas
fuente
fuente
Respuestas:
En su módulo personalizado, agregue lo siguiente a
config.xml
:El primero es una reescritura de
Mage_SalesRule_Model_Quote_Discount
toNamespace_Module_Rewrite_SalesRule_Model_Quote_Discount
El segundo es el controlador sobrecargado.
Mage_Checkout_CartController
A continuación, agregue el siguiente archivo
app/code/community/Namespace/Module/controllers/Checkout/CartController.php
e inserte el siguiente código:Notarás que agregué una sección para combinar códigos de cupón delimitados por ",". Obviamente, esto puede ser más refinado y es posible que desee agregar una comprobación adicional, etc., pero este código debería funcionar directamente.
Y finalmente necesitamos agregar la pieza que hace toda la magia. Agrega el archivo
app/code/community/Namespace/Module/Rewrite/SalesRule/Model/Quote/Discount.php
y agrega el contenido:
Básicamente, lo que hace es romper la picadura del cupón, recorrer cada código de cupón, calcular y actualizar los totales de las cotizaciones.
Para probar, he configurado 2 reglas de carrito de compras:
Sin cupón:
Prueba de cupón agregada 1:
Prueba de cupón agregada 2
He probado con un descuento de cantidad fija y esto funciona como se esperaba también.
Y como dije, es posible que deba agregar una verificación adicional, posiblemente para duplicados, pero aquí es donde comenzaría. Para el frontend, puede agregar algo de lógica para dividir los códigos como prefiera o dejarlos como están.
fuente