カテゴリー
コンピューター

EC-CUBE 修正メモ。会員の購入回数を知るにはどうしたらいいでしょう?

たとえば、1回目の購入時は送料無料としたい。できれば、1回目、10回目、20回目の購入時は送料無料、とカスタマイズできるようにできたらカッコいいです。

これを実現するためには、、前回の送料の処理を行っているところ(EC-CUBE の修正メモ。ある条件で送料無料にするにはどうすればいいですか? | oki2a24)と、購入回数をどこかのタイミングで知る必要があります。どこかでそんな処理、やってるはず!会員の購入回数を知る方法、調べます!

購入回数を使っているページ見つけました。

MYページです。

ここのロジックソースのどこで購入回数を取っているのでしょう?

処理を行っているファイルは次になります。

/var/www/html/eccube/data/class/pages/mypage/LC_Page_Mypage.php

そして、購入回数を取得する処理は、lfGetOrderHistory 関数でした。

    /**
     * 受注履歴を返す
     *
     * @param mixed $customer_id
     * @param mixed $startno 0以上の場合は受注履歴を返却する -1の場合は件数を返す
     * @access private
     * @return void
     */
    function lfGetOrderHistory($customer_id, $startno = -1) {
        $objQuery   = SC_Query_Ex::getSingletonInstance();

        $col        = "order_id, create_date, payment_id, payment_total";
        $from       = "dtb_order";
        $where      = "del_flg = 0 AND customer_id = ?";
        $arrval     = array($customer_id);
        $order      = "order_id DESC";

        if ($startno == -1) {
            return $objQuery->count($from, $where, $arrval);
        }

        $objQuery->setLimitOffset(SEARCH_PMAX, $startno);
        // 表示順序
        $objQuery->setOrder($order);

        //購入履歴の取得
        return $objQuery->select($col, $from, $where, $arrval);
    }

コメントを残す