如何从opencart中的视图调用控制器?

时间:2015-11-18 13:58:16

标签: php opencart

我是opencart的新手。我想创建一个自定义主题和一些自定义控制器和模型。我找不到任何与此相关的教程,但我尝试沿着控制器创建一个视图。当我从主页或标题视图页面调用该视图时,如$header(在主文件中)和$search(在头文件中),则显示未定义的变量。

我的代码看起来像这样。它在控制器中(路径为catalog\controller\common\test.php)。

<?php
class ControllerCommonTest extends Controller{
    public function index() {
 if(file_exists(DIR_TEMPLATE.this->config->get('config_template').'/template/test/test.tpl')) {

        $this->response->setOutput($this->render());
    } else {
        return $this->load->view('default/template/common/header.tpl');
    }
    }
}
?>

我的观点是\view\theme\MyTheme\template\common\test.tpl

<?php
echo "Test file";
?>

在我的家庭档案中,我会像下面一样打电话给我的控制器......

<?php
echo $header;
echo $test;
echo $footer;
?>

当我运行它时会显示以下错误:

  

注意:未定义的变量:在第4行的C:\ xampp \ htdocs \ opencart \ catalog \ view \ theme \ MyCustome \ template \ common \ home.tpl中进行测试

因此,请提供任何教程链接以及在opencart中开发自定义模块的任何示例。

提前致谢。

1 个答案:

答案 0 :(得分:2)

要在主页上显示测试模块tpl,即test.tpl,您在家庭控制器上有负载测试控制器。请在catalog/controller/common/home.php

中添加以下代码

添加此代码

$data['test'] = $this->load->controller('common/test');

之后

$data['header'] = $this->load->controller('common/header');