電子メールテンプレートでLiquid構文を使用

Auth0 dashboardで利用可能な電子メールテンプレートを使用する場合、Liquidテンプレート言語を使用して適切なデータを選択し、電子メールを書式設定するオプションがあります。Liquidは、さまざまな情報を含む電子メールを動的に生成するために使用できるHTMLの機能を拡張するオープンソースのテンプレート言語です。詳細については、Githubの[Liquid for Designers(デザイナー向けLiquid)]に関するページをお読みください。

Liquidを使用して、特定の値をハードコードするのではなく、電子メールの[Subject(件名)]を構成して適切なアプリケーション名を表示できます。

{{application.name}}です!

Liquid構文を使用したHTMLは、検証、パスワード変更確認、およびブロックされたアカウントの電子メールテンプレートのすべてのフィールド (URLLifetimeを除く) でサポートされています。サポートされている出力属性とその使用方法の詳細については、[Customize Email Templates(電子メールテンプレートのカスタマイズ)]を参照してください。

Liquidには、出力とタグの2種類のマークアップがあります。

出力マークアップ

[Output(出力)]マークアップはテキストに変換され、2組の対応する波括弧で囲まれます。

こんにちは {{ name }}!

シンプルな方法であるフィルターを使用して、出力の外観をさらにカスタマイズできます。たとえば、[upcase(大文字)]フィルターは、フィルターに渡されるテキストを大文字に変換します。

こんにちは {{ name | upcase }}!

複数のフィルターは|で区切られ、左から右の順に処理され、前のフィルターの結果に次のフィルターが適用されます。テンプレートは最終結果をレンダリングします

以下のフィルターがサポートされています。

フィルター 説明
append 文字列を追加します {{ 'foo' | append:'bar' }} #=> 'foobar'
capitalize 入力文の文字を大文字にします {{ "my great title" | capitalize }} #=> My great title
date 日付を再フォーマットします (syntax reference)
default 提供された値を返すnullまたは空の文字列でない限り、提供された変数を返します {{ undefined_variable | default: "Default value" }} #=> "Default value"
divided_by 整数除算 {{ 10 | divided_by:3 }} #=> 3
downcase 入力文字列を小文字に変換します {{ "Parker Moore" | downcase }} #=> parker moore
escape 文字列のHTMLエスケープ {{ "Have you read 'James & the Giant Peach'?"| escape }} #=> Have you read 'James & the Giant Peach'?
escape_once 既存のエスケープされたエンティティに影響を与えることなくHTMLのエスケープされたバージョンを返します {{ "1 < 2 & 3" | escape_once }} #=> 1 < 2 & 3
first 渡された配列の最初の要素を取得します
join 配列の要素を、特定の文字を間に使用して結合します
last 渡された配列の最初の要素を取得します
map 提供されたプロパティの配列をマップ/収集します
minus 減算 {{ 4 | minus:2 }} #=> 2
modulo 剰余 {{ 3 | modulo:2 }} #=> 1
newline_to_br 各改行(\n)をHTML改行に置き換えます
plus 加算 {{ '1' | plus:'1' }} #=> 2, {{ 1 | plus:1 }} #=> 2
prepend 文字列をプリペンドします {{ 'bar' | prepend:'foo' }} #=> 'foobar'
remove 各出現を削除します {{ 'foobarfoobar' | remove:'foo' }} #=> 'barbar'
remove_first 最初の出現を削除します {{ 'barbar' | remove_first:'bar' }} #=> 'bar'
replace 各出現を置き換えます {{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar'
replace_first 最初の出現を置き換えます {{ 'barbar' | replace_first:'bar','foo' }} #=> 'foobar'
round 出力を最も近い整数か、指定された小数点以下の桁数に丸めます {{ 4.5612 | round: 2 }} #=> 4.56
size 配列または文字列のサイズを返します {{ "Ground control to Major Tom."| size }} #=> 28
sort 配列の要素をソートします
split 一致するパターンで文字列を分割します {{ "a~b" | split:"~" }} #=> ['a','b']
strip_html 文字列からHTMLを削除します {{ "How <em>are</em> you?"| strip_html }} #=> How are you?
strip_newlines 文字列からすべての改行(\n)を削除します
times 乗算 {{ 5 | times:4 }} #=> 20
truncate 文字列をx文字まで切り詰めますまた文字列に追加する2番目のパラメーターを受け入れます {{ 'foobarfoobar' | truncate: 5, '.' }} #=> 'foob.'
truncatewords 文字列をx文字まで切り詰めます
upcase 入力文字列を大文字に変換します {{ "Parker Moore" | upcase }} #=> PARKER MOORE

タグマークアップ

[Tag(タグ)]マークアップはテキストに解決されず、対応する一対の波括弧とパーセント記号で囲まれます。

{%これはテキスト%に解決されません}

通常、タグはテンプレートにロジックを適用するために使用されます。Liquidでサポートされているタグを使用すると、1つのテンプレートで複数のニーズを満たすことができます。

タグを使用してif/elseステートメントを実行し、1つのテンプレートで複数の言語で電子メールを送信することができます。

例:

{% if user.user_metadata.lang == 'en' %} [英語の電子メール本文] {% elsif user.user_metadata.lang == 'de' %} [ドイツ語の電子メール本文] {% endif %}

追加の条件を使用する必要がある場合は、caseステートメントの使用を検討してください。caseステートメントの詳細については、Githubの[Liquid for Designers(デザイナー向けLiquid)]を参照してください。

タグコメント

{%comment%}タグと{%endcomment%}タグの間のコンテンツはレンダリングされません。

これは表示されます。{% comment %}これは表示されません。{% endcomment %}

タグraw

Liquidマークアップの処理を一時的に無効にするには、{%raw%}{%endraw%}を使用します。これは、Liquidと競合する構文を使用している場合に便利です。

たとえば、次のMustache.js行を次のようにエスケープできます。

{% raw %} var clients = "Clients:<ul>{{#client}}<li>{{fn}} {{ln}}" + {{phone}}</li>{{/client}}</ul>"; {% endraw %}

デバッグ変数

テンプレートの開発を支援するために、カスタム{%debug%} liquidタグが追加されました。このタグは、テンプレートが表示されたときにテンプレートで使用できるテンプレート変数の概要を出力します。このタグは、「ライブ」のテンプレートから必ず削除してください。

もっと詳しく