IT女子のお気に入りフォルダ

管理人の備忘録と実践を兼ねた(出来るだけ)役に立つ情報を配信するブログです。

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

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

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

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

性別の必須を外す

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

<th>性別<span class="attention">※</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="`$prefix`job"}-->
        <!--{if $arrErr[$key1]}-->
            <div class="attention"><!--{$arrErr[$key1]}--></div>
        <!--{/if}-->
        <select name="<!--{$key1}-->">
            <option value="" selected="selected">選択してください</option>
            <!--{html_options options=$arrJob selected=$arrForm[$key1].value}-->
        </select>
    </td>
</tr>

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

<!--{if false}-->
    <tr>
        <th>職業</th>
        <td>
            <!--{assign var=key1 value="`$prefix`job"}-->
            <!--{if $arrErr[$key1]}-->
                <div class="attention"><!--{$arrErr[$key1]}--></div>
            <!--{/if}-->
            <select name="<!--{$key1}-->">
                <option value="" selected="selected">選択してください</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="`$prefix`job"}-->
        <!--{assign var="job_id" value=$arrForm[$key1].value}-->
        <!--{$arrJob[$job_id]|default:"未登録"|h}-->
    </td>
</tr>

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

1週間でLPICの基礎が学べる本 第2版

体系的に学ぶ 安全なWebアプリケーションの作り方[リフロー版] 脆弱性が生まれる原理と対策の実践

スッキリわかる SQL 入門 ドリル215問付き!

改訂 FuelPHP入門

はじめてのフレームワークとしてのFuelPHP 改訂版