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

Php 如何从opencart中的视图调用控制器?,php,opencart,Php,Opencart,我是opencart的新手。我想创建一个自定义主题和一些自定义控制器和模型。我找不到任何与此相关的教程,但我尝试沿控制器创建视图。当我从主视图或标题视图页面调用该视图时,如$header(在主文件中)和$search(在标题文件中),它会显示未定义的变量 我的代码看起来像这样。它位于控制器中(路径为catalog\controller\common\test.php) 在我的主文件中,我调用我的控制器,如下所示 <?php echo $header; echo $test; echo $f

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

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

在我的主文件中,我调用我的控制器,如下所示

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

运行此命令时,会显示以下错误:

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

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


提前感谢。

要在主页上显示测试模块tpl,即
test.tpl
,您需要在主控制器上安装负载测试控制器。请在
catalog/controller/common/home.php中添加以下代码

添加此代码

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

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

检查$header变量在控制器中的定义方式。。类似地定义$test变量。在opencart版本1.x之前,模板变量是在控制器中定义的,如
$this->data['variable\u name']
和从2.x开始的
$data['variable\u name']
$data['test'] = $this->load->controller('common/test');
$data['header'] = $this->load->controller('common/header');