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の機能もあります。