Event

Problem and Solution

`If model event not nwork then check is there model already load or not. If model alread loaded then force to reload.`


Example:

Event below not working $this->event->register(‘model/subscription/subscriber/syncSubscriber/after’, new Action(‘extension/module/all_sms_gateway/uid/addSubscriber’));

Solution: Reload model $this->load->model(‘subscription/subscriber’, false, true);

Event Registering

backend/extension/event/my_event/controller/view.php

<?php
class ControllerEventMyEventView extends Controller {
        public function before(&$route, &$data, &$output) {
        }

        public function after(&$route, &$data, &$output) {
        }
}

Database Table: ps_events

Code                Trigger                                                                     Action                                        Status
----------------    ----------------------------------------    ----------------------------------------      ---------------
view_before                     backend/view/dashboard/index/before             extension/event/my_event/view/before                    1
view_after                      backend/view/dashboard/index/after                      extension/event/my_event/view/after                     1

More Event Types

config
        before config
        after config

controller
        before controller
        after controller

language
        before controller
        after controller

model
        before model
        after model

How to regiser an event manually?

<?php $this->event->register(substr($trigger, new Action($action), $sort_order);

How to trigger an event manually?

<?php $this->event->register(substr($trigger, new Action($action), $sort_order);