OpenCart:创建自定义控制器类
问题描述:
我有一个自定义脚本,旨在为客户生成图像。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()不运行。
答
为什么页面是空白的?
您收到500错误。检查你的日志文件。
如果您不知道PHP在哪里记录,请在脚本的顶部临时添加:phpinfo();exit;
,它会显示您正在使用的错误日志。
或者,你可以尝试暂时关闭在登录到屏幕: ini_set('display_errors',1);error_reporting E_ALL;
答
你需要把你的自定义脚本中controller
目录。
假设您的脚本为catalog/controller/account/view_code.php
,您需要将该类命名为
ControllerViewCode
ControllerAccountViewCode
。
编辑:我错了。类别名称应为ControllerAccountViewCode
,如@ Abdullah-Al-Shakib在评论中所述,而不是ControllerViewCode
。
我这样做,它仍然无法正常工作。 当我把路线的确切的url地址,路线=帐户/ view_code.php并把它放在浏览器,页面加载好,但如果我使用href,它不起作用 – arsenalftw067
@bogalakon你worng,类名称将是ControllerAccountViewCode –
该代码仍然不起作用。它仍然找不到类控制器。 但是,如果我直接在浏览器上放置路由,则页面正常工作。但是,如果我使用href创建一个链接到该页面,它不能找到类 – arsenalftw067