我已阅读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;因为某些变量值需要在模块控制器文件中发送
我已经尝试了所有答案,但无法获得解决方案。
谢谢如果您知道并帮助我解决问题。
答案 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”查看此模块是否正常运行。将此模块加载到父控制器时没有错误。我认为这个模块本身存在问题。也许是一些价值依赖。