たとえば、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); }