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