I want to call observer in controller using if condition this is my code


class EPayment_EPayment_IndexController extends Mage_Core_Controller_Front_Action{
    public function getepaymentAction()
        $params = $this->getRequest()->getParams();
        $left_amount = $params['left_amount'];
        if($left_amount == true){
          // call observer here
           $this->getResponse()->setHeader('Content-type', 'application/json');


class EPayment_EPayment_Model_Observer
    public function setDiscount($observer)
        // some codes here

The above code $left_amount is true call Observer.php.

Note: I write code for set discount in Observer.php.

  • You Observer.php file is located inside Model folder ! Can you please confirm you want to use Model or Observer ?
    – MGento
    Commented Dec 8, 2017 at 6:32
  • @MGento: Thanks for reply i want Observer because am trying to set discount by code
    – Ramesh S
    Commented Dec 8, 2017 at 6:33
  • Use the dependency injection way to access the function from your Observer.php file, inside your controller
    – MGento
    Commented Dec 8, 2017 at 6:34
  • @MGento: Like this Mage::getModel('epayment/observer')->getAlert();
    – Ramesh S
    Commented Dec 8, 2017 at 6:36
  • @MGento: Am using magento 1.9.3
    – Ramesh S
    Commented Dec 8, 2017 at 6:38

1 Answer 1


To dispatch event you have to write:

Mage::dispatchEvent('YOUR_EVENT_NAME', [YOUR_DATA]);

For example:

Mage::dispatchEvent('my_event', ['order' => $order]);

You should put this code inside of if in controller. Then you must configure event listener in etc/config.xml:

        <method> setDiscount </method>

And then put required logic inside of your observer.

  • Bro thanks its working i mean discount price apply. But here am creating button if i click button apply discount else discount don't apply
    – Ramesh S
    Commented Dec 8, 2017 at 7:30
  • Do you mind to elaborate or preferably ask new question? Commented Dec 8, 2017 at 7:33
  • Sure bro i will ask new one. will accept your answer here
    – Ramesh S
    Commented Dec 8, 2017 at 7:34
  • bro see this magento.stackexchange.com/questions/205026/…
    – Ramesh S
    Commented Dec 8, 2017 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.