PowerCMS Xで標準フォームにてユーザーによる選択項目別に管理者へのメール通知先を変える
PowerCMS Xに標準で備わっているフォームを用いたお問い合わせページを構築した時に、ユーザーが選択した項目別に管理者へのメール通知先を変更したい場合のやり方です。
例えばお問い合わせの項目にRadioボタンが用意されていて、その選択した内容に合わせて管理者への通知先(メールアドレス)を変更したい場合。
PowerCMS Xでは便利な事に管理画面から設定出来るフォームの設定ページに存在する通知送信先
という項目に、MTタグをそのまま入力することで実現することが可能です。
単純に<mt:if></mt:if>
という具合にMTタグを用いて条件分岐させてあげれば良いという事ですね。
Example
例として以下の様な設問をRadioで作った場合。
<div>
<label><input type="radio" name="question_inquiry_kind" value="質問1">質問1</label>
<label><input type="radio" name="question_inquiry_kind" value="質問2">質問2</label>
<label><input type="radio" name="question_inquiry_kind" value="質問3">質問3</label>
<label><input type="radio" name="question_inquiry_kind" value="質問4">質問4</label>
<label><input type="radio" name="question_inquiry_kind" value="その他">その他</label>
</div>
通知送信先
に入力するMTタグは以下の様な形で分岐させてあげると、項目に合わせて特定の管理者のメールアドレスを送信先として指定することが出来ます。
<mt:if name="request.question_inquiry_kind" eq="質問1">info1@example.com
<mt:elseif name="request.question_inquiry_kind" eq="質問2">info2@example.com
<mt:elseif name="request.question_inquiry_kind" eq="質問3">info3@example.com
<mt:elseif name="request.question_inquiry_kind" eq="質問4">info4@example.com
<mt:else>other@example.com
</mt:if>
name
は設問を作成した際のベースネーム、またはhtmlのname属性値を指定します。MTタグが利用出来るのでeq
やlike
など組み合わせ次第で割と自由に分岐させることが出来ますね。
後はそのまま通知送信先
へ入力してしまい保存するのみです。
※ バージョンによってはMTタグがバリデートで弾かれ保存出来ない場合あり。その場合はサポートに連絡しclass.Prototype.php
を編集することで利用可能になります。
MTタグで直感的な指定が出来るのは流石MTベースなCMSと言えるでしょう。
是非活用してみてください。