Pregunta

Tengo un problema siguiente:

Hay una extensión de terceros que agrega automáticamente productos al carrito como regalos cuando el usuario agrega algún producto específico. También se aplica cupón. Por ejemplo, agrega un receptor WiFi gratuito cuando el usuario quiere comprar un televisor. Agrega productos lo suficientemente buenos, pero debe haber una regla de carrito de compras para obtener un 100% de descuento para estos productos.

Lo que necesito hacer es hacer esta extensión para agregar estos productos como gratis sin la regla del carrito de compras. El único evento que encontré conectado con descuentos es sales_quote_address_discount_item, pero cualquier operación con él no dio resultados.

Así que estaría realmente agradecido si alguien me señala en la dirección correcta: ¿dónde se aplica exactamente en el código y cómo puedo hacer lo mismo con esta extensión?

¿Fue útil?

Solución

El descuento de un cupón se aplica en Mage_SalesRule_Model_Validator en el process() método. Este método se llama cada vez collectTotals() se llama a la cita. Debería anular esta clase (y posible algunas otras) para anular el comportamiento del cupón. Hay un evento dentro de ese método salesrule_validator_process que puede usar en lugar de anular todo el método, pero dependerá de qué lógica necesita cambiar si ocurre en el lugar correcto para usted.

Otros consejos

También puede agregar su propia lógica después de que se dispare el evento add_to_cart_after. (Por ejemplo, cree su propio evento APLICE_DISCOUNT_AFTER_ADD_TO_CART;)

Eche un vistazo a este módulo; Puede agregar productos al carrito de compras como regalo y establecer su precio en 0 $ durante la adición: http://www.code4business.de/make-a-gift-magento-warenkorbpreisregeln-um-geschenke-erweitern/.

Para hacerlo, atrapa los dos eventos SalesRule_Validator_Process y Sales_Quote_Collect_Totals_Before. No reescribe nada. El código también se describe en detalle en http://www.webguys.de/magento/turchen-21-kostenlose-produkte-uber-warenkorb-preisregeln/.

Necesita una regla de precios, pero solo para identificar el producto (o la condición) por la que recibe su regalo. El regalo siempre es gratuito; No se necesita regla adicional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top