ECcube 無料商品のカートへの追加を会員のみに制限するハック
サンプル(無料商品)を取り寄せる人に会員登録をお願いするための手法で、ログイン状態でないと無料商品をカートに追加できません。
場所
/data/class/SC_CartSession.php
まず、こちらを参考にしてください。
https://chinese-homepage.com/modules/d3blog/details.php?bid=301
if ($price === "0"){以下の部分に、以下のコードを挿入します。
$objCustomer = new SC_Customer();
//ログイン判定
if (!$objCustomer->isLoginSuccess()){
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG,"",false,"無料商品は会員登録してログイン状態で選択してください。<br />会員登録は右上の「会員登録」からお願いします。",false); //←ログイン以外はエラー
exit;
}
会員以外は、エラーメッセージを表示して、無料商品をカートに追加することが出来ない状態になります。なお、有料商品は普通に追加可能です。
サンプルを配りつつ会員を増やす場合に有効です。
なお、不具合については特にチェックしていませんのでよくテストをした方が良いと思われます。
ハックの適用は自己責任でお願いします。