2017-07-28 115 views
0

我有一个自定义脚本,旨在为客户生成图像。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()不运行。

回答

0

为什么页面是空白的?

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

如果您不知道PHP在哪里记录,请在脚本的顶部临时添加:phpinfo();exit;,它会显示您正在使用的错误日志。

或者,你可以尝试暂时关闭在登录到屏幕: ini_set('display_errors',1);error_reporting E_ALL;

-1

你需要把你的自定义脚本中controller目录。

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

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

+0

我这样做,它仍然无法正常工作。 当我把路线的确切的url地址,路线=帐户/ view_code.php并把它放在浏览器,页面加载好,但如果我使用href,它不起作用 – arsenalftw067

+0

@bogalakon你worng,类名称将是ControllerAccountViewCode –

+0

该代码仍然不起作用。它仍然找不到类控制器。 但是,如果我直接在浏览器上放置路由,则页面正常工作。但是,如果我使用href创建一个链接到该页面,它不能找到类 – arsenalftw067