我已经阅读了SO和Opencart论坛中的所有相关问题,但找不到解决方案。
所以我复制了特色模块并编辑了一些代码,不是太多,现在我想在唯一的成功页面上直接在前面显示这个新模块。所以我把这段代码放在目录/控制器/结帐/成功中.php
$data['successpage'] = $this->load->controller('module/successpage');
和 ***catalog/view/theme/default/template/common/success.tpl
<?php echo $successpage; ?>
现在我得到
错误 未定义的索引:控制器''模块''成功页面中的限制.php在第 20 行
* 我认为它的 b'coz 一些变量值需要在模块控制器文件中发送
我已经尝试了所有答案,但无法找到解决方案。
谢谢,如果你知道并帮助我整理。
您可能会收到错误,因为您的类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);
您将在successpage
控制器文件的方法index
获得$parameters
的所有详细信息。就是这样。:)
试试这个网址" [yourhost]/index.php?route=module/successpage",看看这个模块是否完美运行。将此模块加载到父控制器时没有错误。我认为这个模块本身存在问题。也许是一些价值依赖。