无法在 Opencart 2 中加载自定义控制器

Cannot load custom controller in Opencart 2

我在 "admin/controller/mycustomcontroller/mycustomcontroller.php" 中创建了一个自定义控制器来为我的后端模块处理一些 AJAX 请求。此自定义控制器包含我打算使用的 add() 方法。

情况:

问题:

我是 Opencart 的新手,我不知道问题出在哪里,在最坏的情况下,我只会 cURL 控制器文件,但感觉不对。

经过多次测试终于找到了问题所在,而且很傻。

假设您希望您的控制器 return 一个编码的 json 字符串,以便您可以在 javascript 中使用它,您可以(按习惯)编写:

$this->response->setOutput(json_encode($result));

大错特错!当调用 load->controller() 方法时,不会考虑通过此函数设置的输出,因此即使您的 AJAX/JS 仍然可以正常工作,但其他任何东西都不会。而是使用:

return json_encode($result)   

之前没有人偶然发现这个问题让我感到惊讶,我要么是愚蠢的,要么是在 OC 文档中遗漏了一些重要的东西。