OpenCart:创建自定义控制器类

时间:2017-07-28 03:36:02

标签: php html opencart

我有一个自定义脚本,用于为客户生成图像。

我需要这个脚本成为控制器的一部分,因为我需要脚本才能使用:

if (!$this->customer->isLogged()) {
        $this->session->data['redirect'] = $this->url->link('account/download', '', true);

        $this->response->redirect($this->url->link('account/login', '', true));
    }

为了检查客户是否已登录。否则,任何人都可以在注销时访问此链接,这对我的商店来说非常危险。

在我的自定义脚本中,我已经包含:

<?php
require_once('system/engine/controller.php');
class ControllerTestAbc extends Controller{
     public function index()
     {
          echo 'Hello World';
          exit;
     }
}
?>

我只是回应你好世界,看看页面是否会运行。但是,页面只是空白。

注意:我试图使用href来访问此脚本,如:

$viewimg ="<a target='_blank' href='view_code.php?id=".$id."&showDate=".$showDate." 'class='cat_links'>".$showName."<font size='-1'></a>";

为什么页面空白?我已经包含了控制器引擎的路径,但函数index()并没有运行。

2 个答案:

答案 0 :(得分:0)

  

为什么页面空白?

您收到500错误。检查您的日志文件。

如果您不知道PHP正在记录的位置,请暂时在脚本顶部添加:timeupdate,它会显示正在使用的错误日志。

或者,您可以尝试使用以下命令临时打开日志记录到屏幕: phpinfo();exit;

答案 1 :(得分:-1)

您需要将自定义脚本放在<div *ngFor="let msg of (msgsList | async) | reverse"> 目录中。

假设您的脚本为controller,您需要将该课程命名为 catalog/controller/account/view_code.php ControllerViewCode

编辑:我错了。如@ Abdullah-Al-Shakib在评论中所述,班级名称应为ControllerAccountViewCode,而不是ControllerAccountViewCode