私は x-cart でクライアント用のカスタム定期注文スクリプトを開発しています。私が直面している問題は、定期注文 (cron) がスケジュールされた注文をトリガーしてループすると、注文が何もリセットされないように見えることです。以前の注文の ID を使用しようとします。私はこれを回避したと思っていましたが、今では最初の注文の詳細を、毎日のプロセスに続くすべての注文の顧客の詳細として使用しています.
$orderids = func_place_order(stripslashes($payment_method), 'I', $order_details, @$customer_notes, array(), array(), @$delivery_notes, TRUE);
最後のパラメーターはカスタム パラメーターです。これが使用されている場所のスニピットを次に示します ( $bol_ignore
) -func.order.php
$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()
それぞれステータスを変更するために呼び出します。
次の処理に移る前に、xcart が使用している可能性のある注文、カート、およびセッション コントロールを 100% クリアするには、何かが欠けているに違いないと思います。念のためループでも使用x_session_reset()
し、ループの先頭ですべての変数をリセットしました。
前もって感謝します。