SendGrid の Dynamic Template では equals~else equals 構文も使える
SendGrid の Dynamic Template では、簡易的に if 文などの構文が使える。
このドキュメントにおいて、if ~ else if の構文が使えることが紹介されている。
実はドキュメントに書いてないが、 equals や notEquals でも同様の構文が使える。
{{#equals var "hoge"}} ホゲだよ {{else equals var "fuga"}} フガでござる {{else}} 知らんがな {{/equals}}
上記の例では、
- {"var": "hoge"} のとき => ホゲだよ
- {"var": "fuga"} のとき => フガでござる
- {"var": "piyo"} のとき => 知らんがな
という置換がされる。
なお注意として、これもifの項でしかドキュメントに書いてないのだが equals スコープ内で変数置換する場合、その参照の仕方に注意しないといけない。
# 渡すjson {"weather": "rain", "date": "2021-12-31"} # テンプレート {{#equals weather "rain"}} 雨量が少なければ様子を見て開催 {{else equals weather "snow"}} 中止 {{else}} 開催 ({{@root.date}}) {{/equals}}