[EC-CUBE 2.13]お客様情報入力から性別選択の必須を外し、職業選択を消す

  • 公開日:2015/3/7
この記事は最終更新日から4年以上が経過しています。

EC-CUBEのデフォルトでは、購入時のお客様情報入力や会員登録時に性別選択が必須になっています。また、必須ではないですが職業の選択項目もあります。

ショップとしてはお客様の情報は出来るだけ多くとりたいと思いますが、お客様からすると余計な入力は避けたいところです。

というわけで今回はあっさりと、性別の必須を外し、職業は項目として消してしまいます。

性別の必須を外す

data/Smarty/templates/default/frontparts/form_personal_input.tpl を開いて

<th>性別<span class=&quot;attention&quot;>※</span></th>

これから、以下のように、必須を表す「*」を消します。

<th>性別</th>

次に、入力チェックをしないようにします。
data/class/helper/SC_Helper_Customer.php にある sfCustomerRegisterParam メソッド内の

$objFormParam->addParam('性別', $prefix . 'sex', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));

これから、以下のように、必須チェックである「EXIST_CHECK」を消します。

$objFormParam->addParam('性別', $prefix . 'sex', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));

これで性別の必須を外すことができました。

職業項目を消す

data/Smarty/templates/default/frontparts/form_personal_input.tpl
で職業の記述箇所を削除します。

<tr>
    <th>職業</th>
    <td>
        <!--{assign var=key1 value=&quot;`$prefix`job&quot;}-->
        <!--{if $arrErr[$key1]}-->
            <div class=&quot;attention&quot;><!--{$arrErr[$key1]}--></div>
        <!--{/if}-->
        <select name=&quot;<!--{$key1}-->&quot;>
            <option value=&quot;&quot; selected=&quot;selected&quot;>選択してください</option>
            <!--{html_options options=$arrJob selected=$arrForm[$key1].value}-->
        </select>
    </td>
</tr>

削除してしまうことに躊躇する場合は、if文を使って表示されない(コメント表示もされない)ようにすることもできます。
以下のように、if文で囲むだけです。

<!--{if false}-->
    <tr>
        <th>職業</th>
        <td>
            <!--{assign var=key1 value=&quot;`$prefix`job&quot;}-->
            <!--{if $arrErr[$key1]}-->
                <div class=&quot;attention&quot;><!--{$arrErr[$key1]}--></div>
            <!--{/if}-->
            <select name=&quot;<!--{$key1}-->&quot;>
                <option value=&quot;&quot; selected=&quot;selected&quot;>選択してください</option>
                <!--{html_options options=$arrJob selected=$arrForm[$key1].value}-->
            </select>
        </td>
    </tr>
<!--{/if}-->

確認画面からも消します。
data/Smarty/templates/default/frontparts/form_personal_comfirm.tpl の以下の箇所です。

<tr>
    <th>職業</th>
    <td>
        <!--{assign var=key1 value=&quot;`$prefix`job&quot;}-->
        <!--{assign var=&quot;job_id&quot; value=$arrForm[$key1].value}-->
        <!--{$arrJob[$job_id]|default:&quot;未登録&quot;|h}-->
    </td>
</tr>

こちらも削除は躊躇する場合は、同様にif文を使えばOKです。