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}}

ifeachの組み合わせ

    <!-- 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」オプションに以下のように設定してください

null

null

注意点

{{else}}ブロックはサポートしておりません。
以下のような Handlebars 構文は正常に動作しませんのでご注意ください。

{{#if boolVar}}
  <span>True</span>
{{else}}
  <span>False</span>
{{/if}}