0

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

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

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


并在 ***catalog/view/theme/default/template/common/success.tpl

<?php echo $successpage; ?>

现在我得到

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


* 我认为它的 b'coz 一些变量值需要在模块控制器文件中发送

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


谢谢如果你知道并帮助我解决。

4

2 回答 2

1

您可能会收到错误,因为您的类的 index 方法中没有传递任何设置(数据)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);

您将获得控制器文件的$parametersinindex方法的所有详细信息。successpage而已。:)

于 2016-03-15T08:49:19.680 回答
0

试试这个 url "[yourhost]/index.php?route=module/successpage" 看看这个模块是否工作正常。将此模块加载到父控制器没有错误。我认为这个模块本身就存在问题。也许是一些价值依赖。

于 2016-03-14T14:21:26.610 回答