日: 2011年5月18日

『OpenCart』でお問合せ確認メールの送信先にショップを追加・・・そして。

カスタマイズの内容

OpenCartのお問い合わせフォームから問い合わせが送信されると、デフォルトでは、

1)送信者名はお客様。そして送信者には敬称なしのお客様名が入る
2)送信先は店舗。そして内容の確認メールはお客様には送信されない
3)お問い合わせ内容確認メールのタイトルが変。(「問合せ お客様名<しかも呼び捨て>」ってどうなのよ。。。

ということで、これを下記のようにカスマイズします。

1)送信者名は店舗名。そして送信者にも店舗名が入る
2)送信先は、お客様と店舗の両方宛に内容の同じ確認メールが送信される
3)お問い合わせ内容確認メールのタイトルは、「[店舗名]お問い合わせを受け付けました。」と変更

編集するファイルは2つです。

・/catalog/controller/information/contact.php
・/catalog/language/japanese/information/contact.php

それでは始めます。こっちから。

/catalog/controller/information/contact.php の編集

L19)確認メールの送信先にお問い合わせしたお客様の入力したEメールアドレスも追加。

$mail->setTo($this->config->get('config_email'));

$mail->setTo($this->config->get('config_email').','.$this->request->post['email']);

L20)確認メールの送信元アドレスを店舗のアドレスに変更。

$mail->setFrom($this->request->post['email']);

$mail->setFrom($this->config->get('config_name'));

L21)上記に合わせて送信者を店舗名に変更。

$mail->setSender($this->request->post['name']);

$mail->setSender($this->config->get('config_name'));

L22)確認メールのタイトルを変更。

$mail->setSubject(sprintf($this->language->get('email_subject'), $this->request->post['name']));

$mail->setSubject(sprintf($this->language->get('email_subject'), $this->config->get('config_name')));

/catalog/language/japanese/information/contact.php の編集

L19) 「お問合せ 山田花子」みたいなのから「[店舗名]お問合せを受け付けました」とお客様宛ての体裁になるように変更。

$_['email_subject'] = 'お問合せ %s';

$_['email_subject'] = '[%s] お問合せを受け付けました ';

ついでに、おかしなところも直しておく。(変更後のコードだけ書きます。)
システムコードに設定されている文字数とこの日本語ファイルで記載されている文字数が違いますので、その辺モゴモゴとか。。。
L10)

$_['text_message'] = '

お客さまのメールは店舗に送信されました!

';

L22)

$_['error_name'] = 'お名前は3文字以上32文字以下でお願いします!';

L24)

$_['error_enquiry'] = 'お問合せ内容は10文字以上3000文字以内でお願いします!';

以上です。日本語の編集や確認メールの送信仕様には好みもあるかと思いますが、私は、確認メールは、お客様と店舗の両方に来て欲しかったし、店舗からお客様に向けた受付の確認メール、という体裁にしたかったので、上記のプチカスタムを行いました。