ECCUBEでモバイルでも会員登録なしで購入させる方法
こんにちは。
SOHOデザイナーを目指しているAquaForest-アクアフォレスト-です。
ECCUBEのモバイル版ではデフォルト、商品を買う際に会員登録をしないと買えない仕組みになっています。
PCやスマホでは会員登録なしでも買えるのに…と思ってる方はこちらの方法で会員登録なしで買える様にカスタマイズできます。
3ステップでできますのでぜひ試して下さい。こっちは4ステップじゃありませんw
ちなみにECCUBEのバージョンは2.11.5です。
1.テンプレートファイルの修正
/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> <!--▲会員登録なしで購入するお客様-->
2.PHPファイルの修正
/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(); }
3.非会員用のテンプレートファイルの作成
上記に記載している『nonmember_input.tpl』
というテンプレートはデフォルトではないため、スマートフォン用のファイルをコピーしてモバイル用に修正すれば完成です。
/data/Smarty/templates/sphone/shopping/nonmember_input.tpl
をコピーして
/data/Smarty/templates/mobile/shopping/
に追加して下さい。
モバイル用に変換するにはtableタグ等を削除し、改行などを追加するだけで、
ほかは変更しなくてOKです。
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。