méxico meet evento español events magento

events - meet - Eventos personalizados en Magento



magento español (1)

¿Cómo puedo agregar un evento personalizado en Magento como "done_some_thing"?

Estoy programando un carrito de compras que ofrece un cierto% de descuento para los clientes que llegan a través de un enlace en particular, y quiero mostrar lo mismo tanto en el carrito como en la página de pago.


Para enviar un evento, use la función Mage::dispatchEvent ( %magento%/app/Mage.php around line 425 ). Las llamadas se ven así:

$data = array( ''somedata'' => ''foo'', ''layout'' => $this->getLayout()); Mage::dispatchEvent(''my_event_name'', $data);

Para observar un evento, especifique el observador en el archivo config.xml de su extensión.

<config> <global> <events> <my_event_name> <observers> <myextension> <type>singleton</type> <class>myextension/observer</class> <method>someMethodName</method> </myextension> </observers> </my_event_name> </events> </global> </config>

Cree una clase y un método correspondientes (Observer.php) y estará listo para comenzar:

class Myextension_Model_Observer { public function someMethodName($event) { $layout = $event->getLayout(); $someData = $event->getSomedata(); } }