我使用的是opencart版本 2.1.0.1
每次点击 admin > sales > order
,都会弹出 "error undefined."
关闭该弹出窗口,我仍然可以编辑订单但无法删除订单(没有回应)。
在我的日志中,有:
PHP注意:未定义的变量:
中的order_id
/var/www/html/opencart2101/system/storage/modification/admin/view/template/sale/order_list.tpl on line 821
第821行是:
url: 'index.php?route=extension/openbay/addorderinfo&token=<?php echo $token; ?>&order_id=<?php echo $order_id; ?>&status_id=' + status_id,
但是,我还没有安装任何与openbay相关的模块。此外,第821行位于 <!-- -->
标记内。它应该没有效果。
帮助!
答案 0 :(得分:0)
虽然现在这是opencart的旧版本,但我仍然看到有很多关于opencart的报道。
由于商店前端添加了http网址而不是https网址,因此会出现问题。所以首先你需要解决这个问题。如果你不想阅读我的所有解释,你可以点击粗体点:)
备份一切实际上并非如此,请备份您要编辑的文件并备份整个数据库。
打开强>
catalog/controller/checkout/confirm.php at around line 100
<强>查找强>
$order_data['store_url'] = HTTP_SERVER;
更改为:
$order_data['store_url'] = HTTPS_SERVER;
现在您需要修复数据库,因为我无法理解的原因,域名与商店ID一起按顺序放置。当编辑订单时,直接在您的管理订单页面中使用它会抛出未定义的通知。基本上,浏览器会阻止请求,因为它试图从安全页面发出不安全的请求。
破解phpmyadmin或您手头的任何数据库工具。
找到该表,默认为 oc_orders
浏览表格,查找包含商店网址的列(我不记得手边的名字,我认为它只是store_url但无论如何都会很明显。如果你是多商店,你需要运行查询每个
我确信有人可以想出一种聪明的方法,只需在一列上使用一次使用sql查询就可以自动将http转换为https,但这对我有用。
运行SQL:根据需要进行调整
UPDATE `oc_orders` SET `store_url` = 'https://example.com' WHERE store_id = 0;