「フォーム」ブロックの「Email」に入力されたアドレスを差出人(Reply-to)にする方法

2012年3月12日 at 22:28

どなたか、きちんとしたヘルプページとかにしてくださればと思います。
concrete5 本家、ユーザー同士が How Tos を投稿できるページより転載し改変しました
http://www.concrete5.org/documentation/how-tos/developers/add-ability-in-contact-form-to-reply-to-the-submitter/

concrete5 標準の「フォーム」ブロックで、テキストフィールドに「email」という名前をつけたら、それをフォームメールの差出人にする方法です。

PHP の基礎知識がある人向けにしか改造できません。

/concrete/blocks/form/

以下のファイルをすべて

/blocks/form/

上にコピーします。そして、

/blocks/form/controller.php

の中に、300~350行目の以下のコードに、1行を追加します。

5.5.1 の場合は 338行目に1行加えます

}elseif($row['inputType']=='email'){
$answerLong="";
$answer=$txt->sanitize($_POST['Question'.$row['msqID']]);
$fromEmail=$answer; // この1行を追加


そして「$mh->from( $formFormEmailAddress」とあるところらへんに1行を追加。
5.5.1 だと 387 行目
あたりです。

$mh->to( $this->recipientEmail );
$mh->from( $formFormEmailAddress );
$mh->replyto( $fromEmail ); // この1行を追加


に変更します。

こうすると、「Reply-to」が、フォームの投稿者になります。

タグ:

Re: 「フォーム」ブロックの「Email」に入力されたアドレスを差出人にする方法

2012年3月12日 at 22:58
最初「From」を置き換える設定を書きましたが、本文を「Replyto」に修正しました。