Opencart事件处理程序不工作


Opencart event handler is not working

我有一个控制器admin'controller'catalog'exchange。它有伪保护方法:

class ControllerCatalogExchange extends Controller {
    /**
     * Handles category edit event
     * @param $categoryId
     */
    protected function onCategoryUpdate($categoryId) {
        echo '23'; exit;
    }
}

我已经通过sql:注册了事件处理程序

INSERT INTO oc_event
SET
  code = 'category.edit.exchange',
  `trigger` = 'post.admin.category.edit',
  `action` = 'catalog/exchange/onCategoryUpdate';

处理程序似乎并没有注册好,因为在通过管理界面更改类别后,23并没有得到响应。

如何设置事件处理程序调用上述控制器方法的操作?

我想明白了。事件处理程序应该是公共的:

class ControllerCatalogExchange extends Controller {
    /**
     * Handles category edit event
     * @param $categoryId
     */
    public function onCategoryUpdate($categoryId) {
        echo '23'; exit;
    }
}