[ec-cube] PCからの会員登録フォームに携帯メアドを追加する
EC-CUBEのバージョンは2.11.4です。
Classに追加
/data/class/helper/SC_Helper_Customer.php
400行目付近、黄色背景の2行を追加する
if (SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE){ $objFormParam->addParam("FAX番号1", 'fax01', TEL_ITEM_LEN, 'n', array("SPTAB_CHECK")); $objFormParam->addParam("FAX番号2", 'fax02', TEL_ITEM_LEN, 'n', array("SPTAB_CHECK")); $objFormParam->addParam("FAX番号3", 'fax03', TEL_ITEM_LEN, 'n', array("SPTAB_CHECK")); $objFormParam->addParam('メールアドレス', 'email', null, 'a', array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK", "SPTAB_CHECK" ,"EMAIL_CHAR_CHECK")); $objFormParam->addParam('携帯メールアドレス', 'email_mobile', null, 'a', array("NO_SPTAB", "MOBILE_EMAIL_CHECK", "SPTAB_CHECK" ,"MOBILE_EMAIL_CHECK"));// ←これを追加 if(!$isAdmin) { $objFormParam->addParam("パスワード(確認)", 'password02', STEXT_LEN, 'a', array("EXIST_CHECK", "SPTAB_CHECK" ,"ALNUM_CHECK"), "", false); $objFormParam->addParam('メールアドレス(確認)', "email02", null, 'a', array("NO_SPTAB", "EXIST_CHECK", "EMAIL_CHECK","SPTAB_CHECK" , "EMAIL_CHAR_CHECK"), "", false); } } else { $objFormParam->addParam('携帯メールアドレス', 'email_mobile', null, 'a', array("NO_SPTAB", "MOBILE_EMAIL_CHECK", "SPTAB_CHECK" ,"MOBILE_EMAIL_CHECK"));// ←これを追加 if (!$is_mypage) { $objFormParam->addParam('メールアドレス', 'email', null, 'a', array("EXIST_CHECK", "EMAIL_CHECK", "NO_SPTAB" ,"EMAIL_CHAR_CHECK", "MOBILE_EMAIL_CHECK")); } }
テンプレートも少し手を加える
入力画面:/data/Smarty/templates/default/frontparts/form_personal_input.tpl
黄色背景の行を追加、または削除する
<!–{if $emailMobile}–>の括りを削除して「携帯メールアドレス」の箇所が表示出来る様にする
<!--{if $emailMobile}--> <tr> <th>携帯メールアドレス</th> <td> <!--{assign var=key1 value="`$prefix`email_mobile"}--> <!--{assign var=key2 value="`$prefix`email_mobile02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1]|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300 top" /><br /> <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2]|h}-->" style="<!--{$arrErr[$key1]|cat:$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300" /><br /> <span class="attention mini">確認のため2度入力してください。</span> </td> </tr> <!--{/if}-->
確認画面:/data/Smarty/templates/default/entry/confirm.tpl
以下を適当な箇所に追加する
<tr> <th>携帯メールアドレス</th> <td> <!--{if strlen($arrForm.email_mobile) > 0}--> <a href="<!--{$arrForm.email_mobile|escape:'hex'}-->"><!--{$arrForm.email_mobile|escape:'hexentity'}--></a> <!--{else}--> (未登録) <!--{/if}--> </td> </tr>
出来たかどうか確認
会員登録フォームに出て来たら実際に登録してみて、DBを直接の覗くか、MYページの情報変更画面からも確認できる。