如何在oc2

时间:2016-03-14 12:18:29

标签: php opencart opencart2.x opencart-module

我已阅读SO和Opencart论坛中的所有相关问题,但无法找到解决方案。

所以我有复制特色模块并编辑了一些代码,而不是太多。现在我想在成功页面上直接显示这个新模块。所以我把这段代码放在 目录/ controller / checkout / success.php

$data['successpage'] = $this->load->controller('module/successpage');


在***目录/ view / theme / default / template / common / success.tpl

<?php echo $successpage; ?>

现在我

  

错误未定义的索引:第20行的controller \ module \ successpage.php中的限制


*我认为它的b&#39;因为某些变量值需要在模块控制器文件中发送

我已经尝试了所有答案,但无法获得解决方案。


谢谢如果您知道并帮助我解决问题。

2 个答案:

答案 0 :(得分:1)

您可能会收到错误,因为您的班级ControllerModuleSuccesspage的索引方法中没有传递任何设置(数据)。您正在直接致电$data['successpage'] = $this->load->controller('module/successpage');

尝试通过设置管理员方面显示您的successpage模块。 (从布局)。如果您想直接调用它,请先检查条件if ($setting['any index']) { ..... } else {... }

如果你想在不设置管理员方面的情况下传递任何参数而不是这样做。

$parameters = array(
 'name' => 'Your module name',
 'product' => array(43,40,42,30), // product id
 'limit' => 4,
 'width' => 200 ,
 'height' => 200,
 'status' => 1
);

$data['successpage'] = $this->load->controller('module/successpage',$parameters);

您将在$parameters控制器文件的index方法中获得successpage的所有详细信息。 就是这样。 :)

答案 1 :(得分:0)

尝试使用此网址“[yourhost] /index.php?route=module/successpage”查看此模块是否正常运行。将此模块加载到父控制器时没有错误。我认为这个模块本身存在问题。也许是一些价值依赖。