読者です 読者をやめる 読者になる 読者になる

関西大阪フリーWEBプランナーの独り言、WEB・ショッピングサイト構築、販売促進・販路拡大の戦略をサポート

DTPオペレーター・営業・WEBコンサルタントの経歴を経てWEBプランナーの仕事をしている者のブログです。

通販のクローズドサイト(会員限定サイト)を構築した時の話。

WEB関連

 例によって、コストカットの話しか舞い込んでこないのですが、
今回はEC CUBEとプラグインを使って通販のクローズドサイト(会員限定サイト)を作ったときの話。

 

準備するもの
---------------------------
EC-CUBEバージョン:2.13.5
クローズドサイトプラグイン:対応バージョン: 2.12系
テキストエディタ
---------------------------

サーバーは下記の2つにてテストしましたが大丈夫でした。

今は、かんたんインストールのバージョンが3になってしまってるので、
EC-CUBEバージョン:2.13.5をFTPでアップしてインストールをします。

www.ec-cube.net

そして、クローズドサイトプラグインをダウンロードしてインストール。

 

EC-CUBEで会員登録を承認制に改造する方法【2.13系】

対会社(B2B)用に審査後に承認して始めて会員にする

B2Bの取引では運営者が会員登録をした会社と取引をするかどうかの審査をする必要があると思います

通常EC-CUBEでは即日会員になれますが、それを運営者側で承認して初めて会員になれるように改造します。

ec-cube-activate

1.EC-CUBEのパラメータを変更する

「CUSTOMER_CONFIRM_MAIL」を操作して仮会員登録機能をONにする
EC-CUBEには元々仮会員登録機能が備わっているのでそれを利用する

「ENTRY_LIMIT_HOUR」を操作してテストをしやすくする
EC-CUBEには会員削除後1時間は新規登録できないという機能がある

それをONにしているとテスト作業が困難になってしまうので、製作中はOFFにしておく

 

 

1.「管理画面>>システム設定>>パラメーター設定」に遷移

2. 「Ctrl+F」を押してブラウザの検索機能を起動した後「CUSTOMER_CONFIRM_MAIL」を検索

3. 「CUSTOMER_CONFIRM_MAIL」のパラメータを「false」から「true」に変更

4. 続けて「CUSTOMER_CONFIRM_MAIL」を検索

5. 「ENTRY_LIMIT_HOUR」パラメータを「1」から「0」に変更

6. ページ一番下の「この内容で登録する」をクリックして設定を保存

2.メールテンプレートを変更

以下を修正
「data/Smarty/templates/[デザインテンプレ名:普通はdefault]/mail_templates/customer_mail.tpl

お客様が本登録を出来ないように、アクティベート用のURLを削除


 ※本メールは自動配信メールです。
 等幅フォント(MSゴシック12ポイント、Osaka-等幅など)で
 最適にご覧になれます。

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 ※本メールは、
 <!--{$CONF.shop_name}-->より会員登録を希望された方に
 お送りしています。
 もしお心当たりが無い場合はこのままこのメールを破棄していただ
 ければ会員登録はなされません。
 またその旨 <!--{* 問い合わせ受付メール *}--><!--{$CONF.email02}--> まで
 ご連絡いただければ幸いです。
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

<!--{$name01}--> <!--{$name02}--> 様

<!--{$CONF.shop_name}-->でございます。

この度は会員登録依頼をいただきまして、有り難うございます。

現在は仮登録の状態です。
   ~~~~~~
弊社による審査が完了いたしましたら改めてご登録内容ご確認
メールをお送り致します。


以下を新規アップロード
転送時に属性などの設定を忘れずに(webサーバにapacheを使っている場合)

属性は:666、所有者:apache、グループ:apache

審査部に、アクティベート用のURLを送信
「data/Smarty/templates/[デザインテンプレ名:普通はdefault]/mail_templates/customer_mail2.tpl



 ※本メールは自動配信メールです。
 等幅フォント(MSゴシック12ポイント、Osaka-等幅など)で
 最適にご覧になれます。

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 ※本メールは、
 <!--{$CONF.shop_name}-->より会員登録を希望された方に
 お送りしています。
 もしお心当たりが無い場合はこのままこのメールを破棄していただ
 ければ会員登録はなされません。
 またその旨 <!--{* 問い合わせ受付メール *}--><!--{$CONF.email02}--> まで
 ご連絡いただければ幸いです。
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

<!--{$CONF.shop_name}--> 審査部へ

<!--{$company_name}-->(<!--{$company_name}-->)
<!--{$shop_name}-->(<!--{$shop_name}-->)
<!--{$name01}--> <!--{$name02}--> 様

上記会社から会員登録申し込みがありました。

審査をして問題ないようであれば以下のURLをクリックして
現在仮登録状態のお客様をアクティベートして下さい。

以下をクリックするとお客様の本登録が完了します
必ず審査が完了してから押してください
~~~~~~~~~~~~~~~~~~

<!--{$smarty.const.HTTPS_URL}-->regist/<!--{$smarty.const.DIR_INDEX_PATH}-->?mode=regist&id=<!--{$uniqid}--><!--{$etc_value}-->


3.メール送信メソッドを変更

メール送信メソッドに追加
「data/class/pages/entry/LC_Page_Entry.php

266行名付近に以下を追加


//アクティベート用メール追加
$objMailText = new SC_SiteView_Ex();
$objMailText->setPage($this);
$objMailText->assign('CONF', $CONF);
$objMailText->assign('name01', $arrForm['name01']);
$objMailText->assign('name02', $arrForm['name02']);
$objMailText->assign('shop_name', $arrForm['shop_name']);
$objMailText->assign('shop_kana', $arrForm['shop_kana']);
$objMailText->assign('company_name', $arrForm['company_name']);
$objMailText->assign('company_kana', $arrForm['company_kana']);
$objMailText->assign('uniqid', $uniqid);
$objMailText->assignobj($this);

$objHelperMail = new SC_Helper_Mail_Ex();
$objHelperMail->setPage($this);


$subject = $objHelperMail->sfMakeSubject('【'.$arrForm['company_name'].'】アクティベーションコード');
$toCustomerMail = $objMailText->fetch('mail_templates/customer_mail2.tpl');


$objMail = new SC_SendMail_Ex();
$objMail->setItem(
'' // 宛先
, $subject // サブジェクト
, $toCustomerMail // 本文
, $CONF['email03'] // 配送元アドレス
, $CONF['shop_name'] // 配送元 名前
, $CONF['email03'] // reply_to
, $CONF['email04'] // return_path
, $CONF['email04'] // Errors_to
, $CONF['email01'] // Bcc
);
// 宛先の設定
$objMail->setTo($CONF['email01'],
$CONF['shop_name'] .' 審査部宛');

$objMail->sendMail();

4.会員登録

会員登録をして確認。

会員登録と同時に、お客様には仮登録のメールが配信され、運営者にはアクティベーションコードのメールが送信されれば成功です。

5.パラメータを元に戻す

1で変更した「ENTRY_LIMIT_HOUR」を「0」から「1」に戻す

 以上で完了です!!