EC-CUBEの受注が消える

クレジットなどのモジュールを使用している場合、
タイミングによって受注一時テーブルのdel_flgに1を立てた後に
受注テーブルへの転記が行われる場合があるようです。
※今回は2.4系で発生

この場合、del_flgが1:削除の状態で転記されることになり、
EC-CUBEの管理画面には表示されません。

今回は、受注テーブルへの転記時に明示的にdlf_flg=0を指定することで対応しました。

Follow me!

EC-CUBEの受注が消える” に対して4件のコメントがあります。

  1. kenji より:

    初心者さん。
    そのバージョンだとSC_Helper_Purchase.phpのregisterOrderのあたりになると思います。
    あまり触ったことのないバージョンなので、ご参考になれば良いのですが。

  2. 初心者 より:

    kenjiさん
    お早いお返事ありがとうございます!
    バージョンはEC CUBE 2.11.5を使っていて、決済モジュールはイプシロン決済モジュール(対応バージョン:2.11.1以上)を使っています。
    教えていただいたlfRegistOrderメソッドが見つからず、そのメソッドに当てはまるものはどれになるんでしょうか?
    下記がLC_Page_Shopping_Complete.phpの中身です。

    ———————————-
    tpl_title = “ご注文完了”;
    }

    /**
    * Page のプロセス.
    *
    * @return void
    */
    function process() {
    parent::process();
    $this->action();
    $this->sendResponse();
    }

    /**
    * Page のアクション.
    *
    * @return void
    */
    function action() {
    $this->arrInfo = SC_Helper_DB_Ex::sfGetBasisData();
    unset($_SESSION[“order_id”]);
    }

    /**
    * デストラクタ.
    *
    * @return void
    */
    function destroy() {
    parent::destroy();
    }

    /**
    * 決済モジュールから遷移する場合があるため, トークンチェックしない.
    */
    function doValidToken() {
    // nothing.
    }
    }
    ?>
    ———————————-

    聞いてばかりですみません。。
    たびたび受注管理画面に受注された履歴が残らず、データベース内には残っていることが確認されたのでなんとか修正したいと思っています。
    よろしくお願い致します。

  3. kenji より:

    初心者さんコメントありがとうございます。
    LC_Page_Shopping_Complete.phpのlfRegistOrderメソッドを修正します。
    バージョンによってメソッド名などが変わっている場合があるので注意してください。

  4. 初心者 より:

    EC初心者です。
    googleで検索していてここにたどり着きました。
    「受注テーブルへの転記時に明示的にdlf_flg=0を指定」とはどのファイルをいじって指定するのでしょうか?
    もしよろしければ教えていただけたら嬉しいです。

kenji へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です