日: 2008年12月6日

【EC-CUBE】お問い合わせの項目を追加する(お問い合わせタイトルの選択追加)

EC-CUBEのお問い合わせでお問い合わせ内容の区分によってタイトルを選択する仕様を追加。

同様の応用で項目の追加もできる。(多分タイトル追加よりは少し簡単)

  • お問い合わせフォームでタイトル(お問い合わせカテゴリー)を選択してもらい、
  • 受付確認メールのタイトルにそのお問い合わせタイトルを表示し、
  • メールの中にもタイトルを表記する
  • タイトルは必須チェックはかけない。(かけてもいいけどとりあえず要らない;)

という処理でやってみる。

その1)お問い合わせフォームのテンプレートに選択フィールドを追加。

/data/Smarty/templates/default/contact/index.tpl (L37あたり:ver.2.3.2)

<tr>
<th>タイトル</th>
<td><select name=”contacttitle” value=”<!–{$contacttitle|default:$arrData.contacttitle|escape}–>” style=”<!–{$arrErr.contacttitle|sfGetErrorColor}–>”>
<option value=””>タイトルを選択</option>
<option label=”●●に関するお問い合わせ” value=”●●に関するお問い合わせ”>●●に関するお問い合わせ</option>
<option label=”▲▲に関するお問い合わせ” value=”▲▲に関するお問い合わせ”>▲▲に関するお問い合わせ</option>
<option label=”その他のお問い合わせ” value=”その他のお問い合わせ”>その他のお問い合わせ</option>
</select></td>
</tr>

/data/Smarty/templates/default/contact/confirm.tpl (L38あたり)

<tr>
<th>タイトル</th>
<td><!–{$arrForm.contacttitle|escape}–></td>
</tr>

その2)メールのテンプレートの本文中にも項目を追加。(※本文中には不要な場合は省略)

/data/Smarty/templates/default/mail_templates/contact_mail.tpl (L41あたり)

■タイトル:<!–{$arrForm.contacttitle}–>

その3)LC_Page_Contact.phpのコードの修正・追加

/data/class/pages/contact/LC_Page_Contact.php

(L79あたり)コード追加。

array( “column” => “contacttitle”, “convert” => “aKV” ),

(L258あたり)コード追加。(お客様送信メール用のタイトルをセット)

$fromMail_title = $objPage->arrForm[‘contacttitle’];

(L261あたり)同じコード追加。(自分送信メール用のタイトルをセット)

$fromMail_title = $objPage->arrForm[‘contacttitle’];

(L263あたり)コード変更。

$subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, “お問い合わせがありました。”);

これを↓

$subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, $fromMail_title);

(L276あたり)コード変更。

$subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, “お問い合わせを受け付けました。”);

これを↓

$subject = $helperMail->sfMakeSubject($objQuery, $objMailText, $this, $fromMail_title);

その他)

/data/Smarty/templates/default/contact/mail_title.tpl

L24あたり。
→【 】内へショップネームが入るようになっている。その後上記のタイトルが入ります。変更が必要であればここも変える。但し、これはサイト全体の設定になるため、注文メールなども同様の設定になるので注意。