Archived content · 配布・購入・投稿機能は終了しています

Zen-Cartバグ)差引残高0の場合の注文ステータス

2010-05-31

Zen-Cart v1.3.0.2で
一般設定>クーポン券の設定>差引残高0の場合の注文ステータス
が反映されないというバグを発見しましたので、ご報告いたします。

修正方法は
includes\classes\order.php
550行目付近

    if ($this->info['total'] == 0) {
      if (DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID == 0) {
        $this->info['order_status'] = DEFAULT_ORDERS_STATUS_ID;
      } else {
        $this->info['order_status'] = DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID;
      }
    }

を

/*
// moved to function create
    if ($this->info['total'] == 0) {
      if (DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID == 0) {
        $this->info['order_status'] = DEFAULT_ORDERS_STATUS_ID;
      } else {
        $this->info['order_status'] = DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID;
      }
    }
*/

のようにコメントアウトし、そのあとのfunction createの頭

  function create($zf_ot_modules, $zf_mode = 2) {
    global $db;

に以下を追加すればOKです。

  function create($zf_ot_modules, $zf_mode = 2) {
    global $db;

    if ($this->info['total'] == 0) {
      if (DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID == 0) {
        $this->info['order_status'] = DEFAULT_ORDERS_STATUS_ID;
      } else {
        if ($_SESSION['payment'] != 'freecharger') {
          $this->info['order_status'] = DEFAULT_ZERO_BALANCE_ORDERS_STATUS_ID;
        }
      }
    }

過去のコメント / Archived comments

技術内容に関係するコメントを保存しています。投稿受付は終了しました。投稿者名・連絡先は掲載していません。