2011-08-12 12 views
6

Primero quise crear un nuevo atributo. Llamémoslo "Factor de precio". Los valores enteros se pueden establecer desde la página del producto en el panel de control del administrador.¿Cómo crear mensajes personalizados en magento cuando un usuario agrega un artículo a un carrito?

En la parte delantera, cada vez que un usuario agrega un artículo al carrito, aparece un mensaje en la bolsa de compras y dice "Su precio anterior era X y su nuevo precio es Y" (donde X era el precio original e Y es el precio ajustado.)

¿Cómo podría crear un mensaje personalizado cuando alguien agrega algo a su carrito de compras?

Respuesta

12

Lo primero que debe hacer es escuchar el evento que se dispara cuando se agrega un artículo al carrito. Esto se llama checkout_cart_add_product_complete y se origina en Mage/Checkout/controllers/CartController.php.

La firma del evento que es despachos es:

Mage::dispatchEvent('checkout_cart_add_product_complete', 
    array(
     'product' => $product, 
     'request' => $this->getRequest(), 
     'response' => $this->getResponse() 
    ) 
); 

Podemos acceder al producto que ha sido añadido a la cesta de productos a través de la variable. Eso significa que podemos evaluar si necesitamos mostrar nuestro nuevo mensaje o no, en función de su atributo.


El siguiente paso es agregar un mensaje flash a la página. Esto se controla a través de sesiones. Hay tres tipos de mensajes que se pueden usar: éxito, error y aviso. Agregar un mensaje es simple:

Mage::getSingleton('core/session')->addSuccess($message); 
Mage::getSingleton('core/session')->addError($message); 
Mage::getSingleton('core/session')->addNotice($message); 
Cuestiones relacionadas