Opencart事件处理程序无法正常工作

时间:2015-11-28 05:41:46

标签: php event-handling opencart opencart2.x

我有一个控制器db.createDatabase('mydb', function(err, newdb) { if (err) { console.log('Failed to create database: %j', err.message); } else { console.log('Database created: %j', newdb.name); mydb = newdb; } }); 。它有虚拟保护方法:

admin\controller\catalog\exchange

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

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

似乎处理程序未注册正常,因为23通过管理界面更改类别后没有回显。

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

1 个答案:

答案 0 :(得分:0)

我发现了。事件处理程序应该是公共的:

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