EC-CUBEの問い合わせ欄の項目追加カスタマイズ

ECCUBEには元々、問い合わせ欄が設置されています。
機能としてはあってあたりまえのものですが、申し分のないものとは言い難いです。

できることなら、項目を増やしたい・・・という、人の為のカスタマイズ。
この記事は最終更新日から1年以上が経過しています。

PC版表示を先に修正

参考記述:EC-CUBE:「お問い合わせ」の項目に「回答希望」を追加する | ITOBEN STYLE Blog

参考記述を見てもらえばわかるように、スマートフォンのほうの修正もしないといけないというのを、今まで完全に忘れていました。
携帯サイトもそうですが、物によってはPCと連動してたりしますが、デザインをメインに、ほとんどが独立した作りになっています。
いずれはそちらも記事にしていこうと思います。

特に、スマートフォンからのアクセスというのは増えてきているので、ないがしろにできませんから。

では、以下より修正を行って行きます。

/data/class/pages/contact/LC_Page_Contact.php
161行目付近に以下を追加

$objFormParam->addParam("お問い合わせの種類", 'question', INT_LEN, 'n', array("EXIST_CHECK" , "MAX_LENGTH_CHECK"));

入力必須項目にしてますが、それを解除する場合は、“EXIST_CHECK” ,を削除して下さい。

/data/Smarty/templates/default/contact/index.tpl 問い合わせ入力画面
表示したい場所に以下を挿入

<tr>
<th>お問い合わせの種類<span class="attention">※</span></th>
<td><span class="attention"><!--{$arrErr.question}--></span>
<span style="<!--{$arrErr.question|sfGetErrorColor}-->">
<input type="radio" name="question" value=1>オリジナル商品のお見積り<br />
<input type="radio" name="question" value=2>商品のリクエスト<br />
<input type="radio" name="question" value=3>会員登録について<br />
<input type="radio" name="question" value=4>パスワードを忘れた or ログインできない<br />
<input type="radio" name="question" value=5>その他<br />
</span>
</td>
</tr>

/data/Smarty/templates/default/contact/confirm.tpl 送信確認画面
同じく表示したい場所に以下を挿入

<tr>
<th>お問い合わせの種類<span class="attention">※</span></th>
<td>
<!--{if $arrForm.question.value == 1}-->オリジナル商品のお見積り
<!--{elseif $arrForm.question.value == 2}-->商品のリクエスト
<!--{elseif $arrForm.question.value == 3}-->会員登録について
<!--{elseif $arrForm.question.value == 4}-->パスワードを忘れた or ログインできない
<!--{elseif $arrForm.question.value == 5}-->その他
<!--{/if}-->
</td>
</tr>

/data/Smarty/templates/default/mail_templates/contact_mail.tpl
受信メールに表示したい場所に以下を追加

■E-mail :<!--{$arrForm.email.value}-->
■お問い合わせの種類:<!--{if $arrForm.question.value == 1}-->オリジナル商品のお見積り<!--{elseif $arrForm.question.value == 2}-->商品のリクエスト<!--{elseif $arrForm.question.value == 3}-->会員登録について<!--{elseif $arrForm.question.value == 4}-->パスワードを忘れた or ログインできない<!--{elseif $arrForm.question.value == 5}-->その他<!--{/if}-->

何故か、アドレスを入力させるくせに、受信メールには相手のアドレスが載っていないので、追加しました。

スマートフォン用修正

tplファイルを2箇所、以下のように修正だけです。

/data/Smarty/templates/sphone/contact/index.tpl
表示したい場所に以下を挿入

<dt>お問い合わせの種類<span class="attention">※</span></dt>
<span class="attention"><!--{$arrErr.question}--></span>
<dd data-role="fieldcontain">
<fieldset data-role="controlgroup">
<input type="radio" name="question" value=1 id="radio-choice-1"><label for="radio-choice-1">オリジナル商品のお見積り</label>
<input type="radio" name="question" value=2 id="radio-choice-2"><label for="radio-choice-2">商品のリクエスト</label>
<input type="radio" name="question" value=3 id="radio-choice-3"><label for="radio-choice-3">会員登録について</label>
<input type="radio" name="question" value=4 id="radio-choice-4"><label for="radio-choice-4">パスワードを忘れた or ログインできない</label>
<input type="radio" name="question" value=5 id="radio-choice-5"><label for="radio-choice-5">その他</label>
</fieldset>
</dd>

/data/Smarty/templates/sphone/contact/confirm.tpl
表示したい場所に以下を挿入

<dt>お問い合わせの種類</dt>
<dd>
<!--{if $arrForm.question.value == 1}-->オリジナル商品のお見積り
<!--{elseif $arrForm.question.value == 2}-->商品のリクエスト
<!--{elseif $arrForm.question.value == 3}-->会員登録について
<!--{elseif $arrForm.question.value == 4}-->パスワードを忘れた or ログインできない
<!--{elseif $arrForm.question.value == 5}-->その他
<!--{/if}-->
</dd>

WS0001
正常に動作すれば、画像のようになります。

ちなみに、この画像はiPhone、iPadをPC上でエミュレータできるという、「iBBDemo2.0」というものを利用しました。
ここでの表示が確実とは思いませんが、こう簡単に確認できるというのは、便利なものです。

というわけで、以上です。
良い勉強させて頂きました。

ブログ運営

株式会社ちょもらんま

https://qomolangma.jp