我正在开发一个OpenCart模块,并且正在努力使用$this->session->data['order_id']
来获取order_id。
如果我在ControllerCheckoutSuccess
类中注释掉取消设置order_id会话变量的部分,我的模块工作正常。
如何在ControllerCheckoutSuccess
取消设置之前确保获得order_id?
Edit1:我需要订单ID来提取该特定订单的客户名称,总金额,小计等详细信息。是否有其他方法可以获得订单ID?
Edit2 :在'store/catalog/controller/module/myModule.php'
函数的index()
中添加了此代码。使用它来存储临时会话变量中的order_id并在订单成功时使用它 -
if (isset($this->session->data['temp_order_id'])
&& isset($this->request->get['route'])
&& $this->request->get['route'] == 'checkout/success')
{
// perform custom action
unset($this->session->data['temp_order_id']);
}
elseif (isset($this->session->data['order_id']))
{
$this->session->data['temp_order_id'] = $this->session->data['order_id'];
}
请帮忙!
答案 0 :(得分:3)
在catalog/controller/checkout/success.php
文件中,添加:
$this->session->data['temp_order_id'] = $this->session->data['order_id']
;
后:
if (isset($this->session->data['order_id'])) {
然后在调用checkout success页面控制器之前调用自定义模块或调用自定义模块。
答案 1 :(得分:0)
无法找到任何解决方案,因此通过使用vQmod动态添加代码(如Sankar V所述)对其进行排序。但是,它添加了一个应该已经安装vQmod的依赖项。
希望它可以帮助遇到类似问题的人。