
言語 🇯🇵 日本語
メールテンプレート
ユーザーベースにより統一感のある体験を提供するために、FastComments は FastComments からお客様に送信されるメールが貴社のブランディングに合わせられるようにする メールカスタマイズソリューションを提供します。
本ドキュメントでは、このソリューションの機能、テンプレート言語、ローカリゼーション、 およびその他の事項を説明します。
テンプレートの作成 
テンプレートを作成する管理エリアは、カスタマイズ -> メールテンプレート.
ここでは、プラットフォームから送信されるさまざまな種類のメールの一覧が表示され、 各テンプレートがいつ使用されるかを説明する説明文が付いています。
例えば、Commenter Comment Notification メールをカスタマイズできます。これは Sent when a commenter has a reply to their comment です。
Create Template をクリックしても、変更はすぐには適用されません。既定のテンプレートのエディタを開いてプレビューを試すことができますが、
それは Save を押すまで反映されません。
テンプレート言語 
FastComments Email Templates は EJS テンプレート言語 を使用します。
変数を出力する例は <%= object.someValue %> で、条件文は次のように記述できます:
<% if (some_condition) { %>
<div>Some content.</div>
<% } else { %>
<div>Some other content.</div>
<% } %>コメント内容のような生のHTMLを出力するには <%- comment.commentHTML %> のようにします。 = の代わりに - を使う点に注意してください。
構文の詳細は上記のリンクを参照してください。
ローカライズとカスタムテキスト 
FastCommentsはローカライズされたプラットフォームです。すべてのウィジェット、メール、および通知はローカライズされています。
ローカライズとは、ユーザーの位置情報に基づいて異なる言語や書式を表示することを意味します またユーザーの優先言語にも基づきます。これは、ユーザーのブラウザが提供する情報に基づいて判定します。
メールの文面は、Translationsタブに移動して、Localeを選択し、テキストを編集することでカスタマイズできます。デフォルトから変更されたテキストはUIで強調表示されます。あなたは
ロケールを切り替えて最後に保存しても、変更を失うことはありません。
ローカライズされたテキストはTEXTオブジェクト経由でアクセスできます。例えば: <%= TEXT.INTRO %>。
SSO の注意
SSO 統合では、localeが指定されていない場合、ユーザーが異なるロケールでコメントウィジェットにアクセスするたびに更新されます
これはユーザーの言語設定が自動的に更新されることを意味し、
今後のメールはそのロケールで送信されます。
これは SSO ペイロードに locale を含めることで手動で設定することもできます。
ドメインごとのテンプレート 
テンプレートは、そのテンプレートタイプについてテナント全体で適用されるグローバル設定として、または
ドメインごとに設定できます。 Settings タブで対象のドメインを選択してください。
同じドメインに対して複数のテンプレートを設定した場合、実行時に選択されるのは最初の1つだけである点に注意してください。 テンプレート一覧でこのような状況が発生した場合に警告が表示されます。
データと変数 
テンプレートごとに別のコンテキストで動作するため、利用できるデータが異なります。
どのデータが利用可能かを素早く一目で確認する方法は、テンプレートに用意されたテストデータを
チェックすることです。テンプレートを編集しているときに、Test Dataタブをクリックすると
JSON構造が表示されます。
この領域でテストデータをカスタマイズして、テンプレートがさまざまな状況でどのように見えるかを
確認できます。テストデータはResetボタンでデフォルトに戻すことができます。
レンダリング失敗 
メールテンプレートは変数やロジックをサポートしているため、レンダリングに失敗する、あるいは時々レンダリングに失敗するテンプレートを作成してしまう可能性があります。
これは診断やデバッグが非常に厄介になることがあり、特に断続的に発生する問題や、データの特定の状態のときにのみ発生する場合はそうです。
これを助けるために、FastComments のメールテンプレートにはいくつかの機能があります:
- テンプレートのプレビューに失敗した場合、そのテンプレートは保存できません。エラーメッセージが表示されます。
- テンプレートのレンダリング失敗は追跡され、管理画面で報告されます。
2つ目の箇条書きは、本番環境で発生するレンダリング失敗を指しています。つまり、プレビュー時は問題なく表示されるテンプレートを作成したが、後で何らかの理由で失敗することがあります。例えば、テンプレートに次のような記述があるとします:
<% if (comment.commenterEmail.includes('test') { %>匿名コメントが有効な場合、メールアドレスが常に存在するわけではないため、これは時々失敗することがあります。では、それをどうやって見つけるのでしょうか?
答えは、エラーは2か所に表示されるということです。まず、テンプレート一覧自体に各テンプレートのレンダーエラー数が表示されます。
そして、テンプレートを表示すると、エラーごとにそのテンプレートがレンダリングに失敗した回数のカウントが確認できます。
各エラーとそのカウントの横にはリセットボタンがあり、問題を解決した後にカウンターをリセットできます。