EC-CUBEの購入履歴表示を発送済み商品に限定する
クレジットカード決済などで外部の決済モジュールを利用している場合、かつ決済モジュールの実装が不完全な場合、決済が通らなかったにもかかわらずEC-CUBEの購入履歴に表示され、ショップと顧客間で問題が発生する恐れがある。
そこで、EC-CUBEのマイページでは、発送済み商品のみ表示するように変更する。
PHP
/data/class/pages/mypage/LC_Page_Mypage.php(もちろんextendsに書くのがベスト)
function lfGetOrderHistory($customer_id, $startno = -1) { $objQuery = SC_Query_Ex::getSingletonInstance(); $col = "order_id, create_date, payment_id, payment_total"; $from = "dtb_order"; // WHERE IN句の値は適宜変更すること $where = "del_flg = 0 AND customer_id = ?<em> AND status IN (5, 1003)</em>"; $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); }