コフス技術ブログ

PowerCMS Xで標準フォームにてユーザーによる選択項目別に管理者へのメール通知先を変える

PowerCMS Xに標準で備わっているフォームを用いたお問い合わせページを構築した時に、ユーザーが選択した項目別に管理者へのメール通知先を変更したい場合のやり方です。

例えばお問い合わせの項目にRadioボタンが用意されていて、その選択した内容に合わせて管理者への通知先(メールアドレス)を変更したい場合。

img01@2x.jpg

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タグが利用出来るのでeqlikeなど組み合わせ次第で割と自由に分岐させることが出来ますね。

後はそのまま通知送信先へ入力してしまい保存するのみです。

img02.jpg

※ バージョンによってはMTタグがバリデートで弾かれ保存出来ない場合あり。その場合はサポートに連絡しclass.Prototype.phpを編集することで利用可能になります。

MTタグで直感的な指定が出来るのは流石MTベースなCMSと言えるでしょう。
是非活用してみてください。