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。

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

我想通了。事件处理程序应该是 public:

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