KARTE Messageでメールを作成する際、「Handlebars」と呼ばれるテンプレートエンジンの一部の構文が利用可能です。以下にMessageで利用可能なHandlebars構文をご紹介します。
MessageでサポートしているHandlebarsの構文
変数出力
{{variable}}
HTMLエスケープされて出力される仕様{{{html_block}}}
HTMLエスケープせず変数出力
繰り返し構文 each
- 繰り返しのはじめの1回のみ
@first
<!-- itemsに、配列オブジェクトのデータが入ることを想定 -->
<!-- each構文内では、配列中のobjectのkeyを指定してデータを参照することができる -->
{{#each items}}
{{#if @first}} 1商品目! {{/if}}
商品名: {{name}} <br>
商品URL: {{url}}<br>
商品価格: {{price}}<br>
{{/each}}
条件文 if
unless
<!-- 条件文(if)の利用は、boolean型のフィールドがデータとして渡される必要あり -->
<!-- {#if price > 3000} のような形は利用できない -->
{{#if is_sale}}
割引価格: {{sale_price}}円でのご提供
{{/if}}
{{#unless is_sale}}
通常価格: {{price}}円
{{/unless}}
if
と each
の組み合わせ
<!-- ifの中にeachを記載すると、eachの変数がifの変数の中にあるプロパティを参照しようとしてしまいます。 -->
<!-- そこで、以下のような対応をいただく必要があります。 -->
{{#if is_sale}}
{{#each @root.sale_items}}
商品名: {{name}} <br>
商品URL: {{url}}<br>
割引価格: {{sale_price}}<br>
{{/each}}
{{/if}}
{{#unless is_sale}}
{{#each @root.sale_items}}
商品名: {{name}} <br>
商品URL: {{url}}<br>
割引価格: {{sale_price}}<br>
{{/each}}
{{/unless}}
Beeエディタのブロックに構文を適応する
Beeエディタの特定ブロックに対して Handlebarsの条件文(if)や繰り返し構文(each)を適応することが可能です。
特定のブロックの「DYNAMIC CONTENT」オプションに以下のように設定してください
注意点
{{else}}
ブロックはサポートしておりません。
以下のような Handlebars 構文は正常に動作しませんのでご注意ください。
{{#if boolVar}}
<span>True</span>
{{else}}
<span>False</span>
{{/if}}