KARTEの接客アクションでは、静的変数の置換やHTML出力前の処理のために、テンプレートエンジンを使用しています。
以前はLodashが使われていましたが、機能を増やすために、Nunjucksへの移行作業を進めています。
移行作業の完了後は、Lodashで作成された接客アクションは「非推奨」となり、サポート対象外になります。

移行作業について

KARTEがデフォルトで提供するテンプレート一覧について、Nunjucksを用いたテンプレートへの入れ替えを予定しています。

なお、テンプレートエンジンの変更に伴い、接客アクション内の変数呼び出しの記法などが変わるケースがあります。そのため、既存のアクションのテンプレートエンジンが自動で変更されることはありません。

すでに使われている接客アクションをNunjucksに移行したい場合は、お手数ですが、移行作業完了後に新規テンプレートから作り直していただくよう、お願いします。

2018/06/14現在、ユーザーに「見せる」テンプレートでNunjucks移行済みテンプレートは下記になります。

  • 接客サービス作成フロー内の赤枠内のテンプレート

赤枠以外の「オリジナル」の中でも、赤枠内の新テンプレートから生成されたものは、Nunjucks対応となっています。
エディタ内の「表示設定」でもNunjucks移行済みか確認できます。

Nunjucks対応済みのものに関しては、テンプレートエンジンの記載がありません。

LodashとNunjucksの違い

変数呼び出し

「ユーザー情報変数」の呼び出し方が、LodashとNunjucksで異なります。

  • Lodash: [[変数]]
  • Nunjucks: #{変数}

※ ユーザー情報変数については、こちらをご覧ください。

また、「静的変数」(カスタマイズタブから設定する変数)の呼び出し方も異なります。

  • Lodash: {{変数}}
  • Nunjucks: #{変数}

ただし、WidgetのHTML、CSS、Scriptの中については、Nunjucksと同じ#{変数}という形式となります。

2018/06/14現在のユーザーに「見せる」テンプレートについては、すべてWidgetになります。Nunjucksと同様の変数の呼び出し方で問題ありません。

Nunjucksでのみ使える機能

Nunjucksテンプレートを使うと、 HTMLの中にロジックを埋め込むことができます。
通常はScript内で同様の制御が可能なので、HTMLメールなどScriptが使えないテンプレートの中で使用してください。

(例) titleという名前の静的変数があればそれを表示し、なければ”タイトル”と表示させる例。

{% if title %}
  #{title}
{% else %}
  タイトル
{% endif %}

また、HTMLからデータテーブルの値を直接参照する機能など、Nunjucksでしか使えないKARTEの機能もあります。