問い合わせメールフォームに項目を追加

1系です。
EC-CUBEのお問い合せは、ログインしている場合、そのログイン者の情報が入る。
それをふまえて、「業種」「携帯番号」「内容(チェックボックス)」の追加を試みた。

1)まず、フォームページのテンプレート(data\Smarty\templates\contact\index.tpl)に追加する

「業種」

<tr>
<td bgcolor=”#f0f0f0″>業種</td>
<td bgcolor=”#ffffff”><span><!–{$arrErr.job}–></span>
<select name=”job” style=”<!–{$arrErr.job|sfGetErrorColor}–>”>
<option value=”” selected>選択してください</option>
<!–{html_options options=$arrJob selected=$arrData.job}–>
</select>
その他:<input type=”text” name=”job_text” value=”<!–{$job_text|escape|default:$arrData.job_text|escape}–>” maxlength=”<!–{$smarty.const.STEXT_LEN}–>” style=”<!–{$arrErr.job_text|sfGetErrorColor}–>” />
</td>
</tr>

「携帯番号」

<tr>
<td bgcolor=”#f0f0f0″>携帯電話</td>
<td bgcolor=”#ffffff”>
<input type=”text” name=”keitai01″ size=”6″ value=”<!–{$keitai01|escape|default:$arrData.keitai01|escape}–>” maxlength=”<!–{$smarty.const.TEL_ITEM_LEN}–>” style=”<!–{$arrErr.keitai01|sfGetErrorColor}–>” />&nbsp;-&nbsp;<input type=”text” name=”keitai02″ size=”6″ value=”<!–{$keitai02|escape|default:$arrData.keitai02|escape}–>” maxlength=”<!–{$smarty.const.TEL_ITEM_LEN}–>” style=”<!–{$arrErr.keitai02|sfGetErrorColor}–>” />&nbsp;-&nbsp;<input type=”text” name=”keitai03″ size=”6″ value=”<!–{$keitai03|escape|default:$arrData.keitai03|escape}–>” maxlength=”<!–{$smarty.const.TEL_ITEM_LEN}–>” style=”<!–{$arrErr.keitai03|sfGetErrorColor}–>” />
</td>
</tr>

「内容」

<tr>
<td bgcolor=”#f0f0f0″>内容</td>
<td bgcolor=”#ffffff”>
<table width=”340″ border=”0″ cellspacing=”2″ cellpadding=”2″>
<tr>
<td width=”170″><input type=”checkbox” name=”perpose” id=”p_1″ value=”注文したい”>注文したい</td>
<td width=”170″><input type=”checkbox” name=”perpose” id=”p_2″ value=”詳しく聞きたい”>詳しく聞きたい</td>
</tr>
<tr>
<td width=”170″><input type=”checkbox” name=”perpose” id=”p_3″ value=”見積もりをしてほしい”>見積もりをしてほしい</td>
<td width=”170″><input type=”checkbox” name=”perpose” id=”p_4″ value=”その他”>その他</td>
</tr>
</table>
</td>
</tr>

2)確認用テンプレート(data\Smarty\templates\contact\confirm.tpl)に追加する

「業種」

<tr>
<td bgcolor=”#f0f0f0″ツꀀ>業種</td>
<td bgcolor=”#ffffff”><!–{$arrJob[$arrForm.job]|escape|default:”未登録”}–><!–{$arrForm.job_text|escape|default:””}–></td>
</tr>

「携帯番号」

<tr>
<td bgcolor=”#f0f0f0″>携帯電話</td>
<td bgcolor=”#ffffff”><!–{if strlen($arrForm.keitai01) > 0 && strlen($arrForm.keitai02) > 0 && strlen($arrForm.keitai03) > 0}–><!–{$arrForm.keitai01|escape}–>-<!–{$arrForm.keitai02|escape}–>-<!–{$arrForm.keitai03|escape}–><!–{/if}–></td>
</tr>

「内容」

<tr>
ツꀀ<td width=”135″ bgcolor=”#f0f0f0″>内容</td>
ツꀀ<td width=”402″ bgcolor=”#ffffff”><!–{$arrForm.perpose|escape}–></td>
</tr>

3)問い合わせ用phpの編集

まず、業種を引っ張ってくるために、$objPage = new LC_Page();以下に追加

$objPage->arrJob = $arrJob;

フォーム値変換用カラムを、L42あたりの下に追加

array(“column” => “keitai01”,ツꀀツꀀツꀀ “convert” => “n”),
array(“column” => “keitai02”,ツꀀツꀀツꀀ “convert” => “n”),
array(“column” => “keitai03”,ツꀀツꀀツꀀ “convert” => “n”),

エラーチェックが必要な場合は、L124あたりのfunction lfErrorCheck($array) {以下に追加

$objErr->doFunc(array(“携帯番号1”, ‘keitai01’, TEL_ITEM_LEN), array(“NUM_CHECK”, “MAX_LENGTH_CHECK”));
$objErr->doFunc(array(“携帯番号2”, ‘keitai02’, TEL_ITEM_LEN), array(“NUM_CHECK”, “MAX_LENGTH_CHECK”));
$objErr->doFunc(array(“携帯番号3”, ‘keitai03’, TEL_ITEM_LEN), array(“NUM_CHECK”, “MAX_LENGTH_CHECK”));

4)メール用テンプレートに追加

メール用のテンプレート(data\Smarty\templates\mail_templates\contact_mail.tpl)に追加

■業種
<!–{$arrJob[$arrForm.job]}–><!–{$arrForm.job_text}–>

<!–{if strlen($arrForm.keitai01) > 0 && strlen($arrForm.keitai02) > 0 && strlen($arrForm.keitai03) > 0}–>
■携帯電話
<!–{$arrForm.keitai01|escape}–>-<!–{$arrForm.keitai02|escape}–>-<!–{$arrForm.keitai03|escape}–>
<!–{/if}–>

■内容
<!–{$arrForm.perpose|escape}–>

この、|escapeっているのかなぁ。要らないかもしれないけど、つけていても大丈夫でした。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です