LuanDantas
3/14/2018 - 12:39 PM

Observer - Como disparar um observer personalizado

Disparo do Evento

<?php
Mage::dispatchEvent("cammino_forms_index_post_after", array('post' => $post));

// O primeiro parâmetro é o nome do evento que eu quero criar
// O segundo parâmetro é um array de valores que eu quero enviar para quem for utilizar esse observer
```

```Text
O código acima dispara um evento, no caso o nosso evendo é "cammino_forms_index_post_after". 
```

## Configuração do observer
etc/config.xml

```XML
<?xml version="1.0"?>
<config>
    <global>
        <models>
            <customblocks>
                <class>Canovas_Customblocks_Model</class> <!-- declara o Model -->
            </customblocks>
        </models>
        <events>
            <cammino_forms_index_post_after> <!-- nome do observer que sera usado -->
                <observers>
                    <customblocks_cammino_forms_index_post_after> <!-- criar um nome para seu evento -->
                        <class>customblocks/observer</class>
                        <method>notifyCustomer</method> <!-- nome do método que será chamado -->
                    </customblocks_cammino_forms_index_post_after>
                </observers>
            </cammino_forms_index_post_after>
        </events>
    </global>
</config>
```

Model/Observer.php

```PHP
<?php
class Canovas_Customblocks_Model_Observer 
{
    public function notifyCustomer($observer) {
        $params = $observer->getEvent();
    } 
}
```