EC-CUBE2.11.5でダウンロードサイトを構築した際に、無料でダウンロードできる商品や全額ポイントで購入した場合などに、対応状況を「新規受け付け」から「入金済み」にする方法です。
EC-CUBEでダウンロード販売サイトを構築した場合、管理ページより「入金済み」に変更しないとダウンロードができません。有料であれば問題ないのですが、お試し版などの「無料商品」や全額ポイント支払いのような場合でも、ダウンロードができるように、自動で「入金済み」になるようにしてみました。
EC-CUBE2.11.5の場合です。
/data/class/pages/shopping/内のLC_Page_Shopping_Confirm.phpを書き換えます。
160行目あたり
// 購入完了ページ
else {
$objPurchase->completeOrder(ORDER_NEW);
$objPurchase->sendOrderMail($this->arrForm["order_id"]);
SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
}
これを
// 購入完了ページ
else {
if($this->arrForm['payment_total'] > 0){
$objPurchase->completeOrder(ORDER_NEW);
}else{
$objPurchase->completeOrder(ORDER_PRE_END);
}
$objPurchase->sendOrderMail($this->arrForm["order_id"]);
SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
}
このように変更します。
EC-CUBE2.11.4は
// 購入完了ページ
else {
if($this->tpl_total_inctax[$this->cartKey] > 0){
$objPurchase->completeOrder(ORDER_NEW);
}else{
$objPurchase->completeOrder(ORDER_PRE_END);
}
$objPurchase->sendOrderMail($this->arrForm["order_id"]);
SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);
}
と書き換えます。
カスタマイズしやすいEC-CUBEですが、ダウンロードショップ用にはまだちょっと未完成な点が多いですね。