携帯サイトでも会員登録しないで購入できるようにする:EC-CUBE2.11.1
EC-CUBEのデフォルトではPCサイトは会員登録しないでも購入できるようになっていますが
携帯サイトは会員登録しないで購入できないようになっています。
なので今回は携帯サイトでも会員登録しないで購入できるようにする方法をメモ。
テンプレート&PHPファイルの記述
- まず
/data/Smarty/templates/mobile/shopping/index.tpl
に下記ソースを追加<!--▼会員登録なしで購入するお客様--> ■登録なしでご注文される方<br> (購入手続き)<br> <form name="member_form" id="member_form" method="post" action="./index.php"> <input type="hidden" name="mode" value="nonmember" /> <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> <div align="center"><input type="submit" value="購入手続きへ" name="buystep" id="buystep"></div><br> </form> <!--▲会員登録なしで購入するお客様-->
- 次に
/ec/data/class/pages/shopping/LC_Page_Shopping.php
の// お客様情報入力ページの表示 case 'nonmember': $this->tpl_mainpage = $nonmember_mainpage; $this->tpl_title = $nonmember_title; $this->lfInitParam($objFormParam); // ※breakなし default: // 前のページから戻ってきた場合は, お客様情報入力ページ if (isset($_GET['from']) && $_GET['from'] == 'nonmember') { $this->tpl_mainpage = $nonmember_mainpage; $this->tpl_title = $nonmember_title; $this->lfInitParam($objFormParam); } // 通常はログインページ else { $this->lfInitLoginFormParam($objFormParam); } $this->setFormParams($objFormParam, $objPurchase, $this->tpl_uniqid); $objPurchase->unsetShippingTemp(); }
↑と記述されている部分を
// お客様情報入力ページの表示 case 'nonmember': $this->tpl_mainpage = 'shopping/nonmember_input.tpl'; $this->tpl_title = $nonmember_title; $this->lfInitParam($objFormParam); // ※breakなし default: $this->setFormParams($objFormParam, $objPurchase, $this->tpl_uniqid); $objPurchase->unsetShippingTemp(); }
に変更
- 最後に
this->tpl_mainpage = 'shopping/nonmember_input.tpl';
と上記で記述したnonmember_input.tpl
というテンプレートはデフォルトでは存在しないので作らないといけませんが、その作り方で簡単な方法は
PC用かスマートフォン用(スマートフォン用が楽)の
/ec/data/Smarty/templates/defaultもしくはsphone/shopping/nonmember_input.tpl
をコピーして
コピーしたnonmember_input.tplのtableタグ系等を削除してモバイル用にソースを改造した後
/ec/data/Smarty/templates/mobile/shopping/
の中にアップロードすればOK
※注意点として、PC用のnonmember_input.tplをコピーした際は<input type="image"
を
<input type="submit"
に変更する必要があります。
参考サイト