首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >x-cart循环订单

x-cart循环订单
EN

Stack Overflow用户
提问于 2013-03-19 07:17:41
回答 1查看 237关注 0票数 1

我一直在为x-cart中的一个客户开发一个自定义的循环订单脚本,我面临的问题是,当循环订单(cron)触发并循环预定的订单时,订单似乎没有重置为零,它试图使用前一个订单的ID。我认为我已经解决了这个问题,但现在它使用第一个订单的详细信息作为日常流程之后所有订单的客户详细信息。

代码语言:javascript
复制
$orderids = func_place_order(stripslashes($payment_method), 'I', $order_details, @$customer_notes, array(), array(), @$delivery_notes, TRUE);

最后一个参数是一个自定义参数,下面是在func.order.php中使用它的地方的代码片段($bol_ignore

代码语言:javascript
复制
$check_order = func_query_first("SELECT orderid FROM $sql_tbl[orders] WHERE userid='" . addslashes(@$userinfo['id']) . "' AND '" . XC_TIME . "'-date < '$mintime'");

    if ($bol_ignore == FALSE) // @custom ***** code, may prevent the order from being broken?
        if ($check_order) {
            func_unlock('place_order');

            return FALSE;
        }

在检查支付是否成功后,我们调用func_change_order_status()来分别更改状态。

我假设我一定是遗漏了一些东西,无法100%清除订单、购物车和xcart可能正在使用的任何会话控制,然后才能继续处理下一个。为了以防万一,我甚至在循环中使用了x_session_reset(),并在循环开始时重置了所有变量。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-19 09:50:19

经过几个小时的浪费和大量的调试,我遗漏了一个所需的全局变量。由于客户未登录,我们需要手动设置每个全局变量。

我从数据库中提取客户信息,但它是以不同的变量名保存的。

$userinfo = func_userinfo($row['customerid'], 'C');

以防将来有人想尝试这样做,您必须为每个循环设置这些设置,因为它们是订单/购物车发生所必需的

代码语言:javascript
复制
# Change the "session" types 
$login_type   = 'C';
$current_area = 'C';
$cart         = NULL; // Clear the Cart

我知道这个问题相当模糊,但我们认为它归结为xcart的内置函数接管。

你在一杯新鲜咖啡后发现的事情..

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15488759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档