EC-CUBE購入フォーム性別/職業/生年月日の削除方法

EC-CUBE 2.13.2でもデフォルトでは購入フォームに、

  • 性別
  • 職業
  • 生年月日

の欄が存在していて、性別は必須項目になっているラジオボタンです。これら余分な項目を削除して取り除いて、購入フォームをより簡素化させる方法です。

フォームHTMLソースから取り除く

3つのファイルに該当のテーブル箇所があるので、そこを削除またはコメントアウトします。

  1. form_personal_input.tpl入力ページ
  2. form_personal_confirm.tpl確認ページ
  3. confirm.tpl最終確認ページ

入力ページの場合なら、
/data/Smarty/templates/任意/frontparts/form_personal_input.tpl
を開いて180行目当たりにある性別のtableタグ部分から、生年月日終わりの225行目までを、<!–{if false}–>と<!–{/if}–>で囲んでコメントアウトします。

<!–{if false}–><tr>
<th>性別<span class=”attention”>※</span></th>
<td>
<!–{assign var=key1 value=”`$prefix`sex”}–>
<!–{if $arrErr[$key1]}–>
<div class=”attention”><!–{$arrErr[$key1]}–></div>
<!–{/if}–>
<span style=”<!–{$arrErr[$key1]|sfGetErrorColor}–>”>
<!–{html_radios name=$key1 options=$arrSex selected=$arrForm[$key1].value separator='<br />’}–>
</span>
</td>
</tr>
<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>
<tr>
<th>生年月日</th>
<td>
<!–{assign var=key1 value=”`$prefix`year”}–>
<!–{assign var=key2 value=”`$prefix`month”}–>
<!–{assign var=key3 value=”`$prefix`day”}–>
<!–{assign var=errBirth value=”`$arrErr.$key1“$arrErr.$key2“$arrErr.$key3`”}–>
<!–{if $errBirth}–>
<div class=”attention”><!–{$errBirth}–></div>
<!–{/if}–>
<select name=”<!–{$key1}–>” style=”<!–{$errBirth|sfGetErrorColor}–>”>
<!–{html_options options=$arrYear selected=$arrForm[$key1].value|default:”}–>
</select>年&nbsp;
<select name=”<!–{$key2}–>” style=”<!–{$errBirth|sfGetErrorColor}–>”>
<!–{html_options options=$arrMonth selected=$arrForm[$key2].value|default:”}–>
</select>月&nbsp;
<select name=”<!–{$key3}–>” style=”<!–{$errBirth|sfGetErrorColor}–>”>
<!–{html_options options=$arrDay selected=$arrForm[$key3].value|default:”}–>
</select>日
</td>
</tr><!–{/if}–>

これで性別、職業、生年月日の表示は消えますが、このままだと「性別」が必須でああるために項目が表示されていないのに、未入力ですとエラーになり進めませんので次に必須を解除します。

「性別」の必須を解除する

/data/class/helper/SC_Helper_Customer.php を開いて431行目辺りにあるEXIST_CHECKを取り除きます。

select-sex

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

↓こうなる

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

これでアップロードすれば、性別で引っかかることなく購入を完了まで行けるようになりました。