Re: レガシーフォームを複数使用する場合のメールテンプレートについて

2021年8月27日 at 21:24

こんにちは。

あと、ブロック名 = メールテンプレート名にする方法もあります。

きちんと正しいブロック名をいれないといけなく、間違うとエラーになっちゃうので危険ですが・・・

$emailTemplate = $this->block->getBlockName();
// 管理者向け
$mh->load($emailTemplate);
// ユーザー向け
$mh->load($emailTemplate."_reply");

として、
applicaiton/mail/sampleform.php
applicaiton/mail/sampleform_reply.php
のメールテンプレートを使うようにするということもできます。

こうすると、メールのテンプレートを増やすだけで controller.php の改修をしなくて済みます。

パターンが多い場合はこちらがいいかもです。

Re: レガシーフォームを複数使用する場合のメールテンプレートについて

2021年8月30日 at 10:05
Katz Uenoさん
ありがとうございます。
それぞれ違うブロック名をつけた2つのレガシーフォームを設置しテストしたところうまくいきました。

(↓分からない人のために)
Katzさんの「標準のメールフォームに確認メール送信機能とCSVを Shift JIS に変換する機能を追加する」
http://github.com/katzueno/c5-form-support-Japanese-style
を使わせていただき、そのレガシーフォームのcontroller.phpに

$emailTemplate = $this->block->getBlockName();
を足して
$mh->load('block_form_submission_user'); を $mh->load($emailTemplate."_reply"); に変更
※↑このcontroller.phpの変更済みスクリーンショットを添付してます。

applicaiton/mail/sampleform_reply.php
を設置し、該当のレガシーフォームのブロック名をsampleformにする。

applicaiton/mail/exampleform_reply.php
を設置し、先ほどとは別のレガシーフォームのブロック名をexampleformにする。


ただ、Katzさんがおっしゃるように正しいブロック名を入れないとエラーになるし、ブロック名を入れずにレガシーフォームを設置すればそれもエラーになりますね。