各テンプレートで使用できる変数
ecforce では以下のテンプレートは、Liquid テンプレートエンジンを採用しています。
- メールテンプレート
- LPテンプレート
- 帳票(出庫伝票・受注帳票)
- ステップメール配信内容 (オプション機能)
- Webhookテンプレート (オプション機能)
Liquid テンプレートエンジンにより、動的に変動する受注情報や顧客情報などを「変数」として呼び出せます。
使用できる変数
使用できる変数は各画面によって異なります。
※各編集画面で使用できる変数一覧は「使用できる変数一覧」をよりご確認ください。
メールテンプレートで使用できる変数は、各カテゴリで異なります。
該当カテゴリで使用できない変数を指定した場合、空白が出力されます。
高度な機能となりますが、Liquidを使用することでメールテンプレートの条件分岐・ループ処理が可能です。
本記事では、Liquidの使い方例を参考としてご紹介します。
※Liquidの使い方・文法などの確認は、カスタマーサポートのサポート対象外です。
単品注文と定期注文で受注情報の表示内容を一部変更したい
設定例
{% if order.recurring? %} この受注は定期受注です。 {% else %} この受注は通常受注です。 {% endif %}
出力例
この受注は定期受注です。
今日の日付を表示したい
設定例1
{{ "now" | date: "%Y/%m/%d" }}
出力例1
2019/03/03
設定例2
{{ "now" | date: "%Y-%-m-%-d" }}
出力例2
2019-3-3
今日+X日の日付を表示したい
設定例
今日(2019/04/25 とします)の14日後の日付を表示します
{% assign seconds = 14 | times: 24 | times: 60 | times: 60 %} {{ "now" | date: "%s" | plus: seconds | date: "%-m月%-d日" }}
出力例
5月9日
受注のデバイス情報を表示したい
(a) 受注管理の「デバイス」の値をそのまま表示する場合
設定例
{{ order.device_variant }}
出力例1
LPからスマートフォンで購入された場合
smartphone
出力例2
LPからPCで購入された場合
pc
出力例3
ショップから購入された場合・管理画面から受注作成された場合・定期2回目以降の受注の場合
(何も出力されません)
- LPから購入された場合、smartphone か pc が出力されます。
- ショップページから購入した受注・定期2回目以降の受注・受注作成から作成した受注の場合は何も表示されません。
(b)(a)で出力する文字列を「モバイル」「PC(大文字)」にする場合
設定例
{% if order.device_variant == 'smartphone' %}モバイル{% else %}{{ order.device_variant | upcase }}{% endif %}
出力例1
LPからスマートフォンで購入された場合
モバイル
出力例2
LPからPCで購入された場合
PC
出力例3
ショップから購入された場合・管理画面から受注作成された場合・定期2回目以降の受注の場合
(何も出力されません)
(c)LP以外からの購入の場合は一律で「その他」と表示、LPから購入された場合は (b) と同じ条件にする場合
設定例
{% if order.device_variant == blank %}その他{% elsif order.device_variant == 'smartphone' %}モバイル{% else %}{{ order.device_variant | upcase }}{% endif %}
出力例1
LPからスマートフォンで購入された場合
モバイル
出力例2
LPからPCで購入された場合
PC
出力例3
ショップから購入された場合・管理画面から受注作成された場合・定期2回目以降の受注の場合
その他
(d) LPからスマートフォンで購入された場合は「モバイル」、その他は一律で「PC」と表示する場合
設定例
{% if order.device_variant == 'smartphone' %}モバイル{% else %}PC{% endif %}
出力例1
LPからスマートフォンで購入された場合
モバイル
出力例2
LPからPCで購入された場合
PC
出力例3
ショップから購入された場合・管理画面から受注作成された場合・定期2回目以降の受注の場合
PC
配達日の指定がない場合は「指定なし」と出力したい
設定例
{% if order.scheduled_to_be_delivered_at == blank %}
指定なし
{% else %}
{{ order.scheduled_to_be_delivered_at | date: '%Y/%m/%d' }}
{% endif %}
出力例1
配達日の指定がある場合(受注管理>受注管理 の配送予定日に日付が入っている場合)
2019/04/05
出力例2
配達日の指定がある場合(受注管理>受注管理 の配送予定日に日付が入っていない場合)
指定なし
配達希望時間について、指定されなかったときは「指定なし」と出力したい
設定例
{% if order.scheduled_delivery_time == blank %}
指定なし
{% else %}
{{ order.scheduled_delivery_time }}
{% endif %}
出力例1
配達日の指定がある場合(受注管理 > 受注管理 のお届け時間に指定時間が表示されている場合)
午前中
出力例2
配達日の指定がある場合(受注管理 > 受注管理 のお届け時間に「指定なし」と表示されている場合)
指定なし
複数商品を購入された際の明細表示方法を変えたい
- 規格を持たない商品の場合は規格は出力しません。
- 税率設定で設定可能な印つきの商品名を出力しています。印なしの商品名を出力したい場合は {{ order_item.name_with_tax }} を {{ order_item.variant.name }} に変更してください。
設定例
{% for order_item in order.order_items %} 商品名: {{ order_item.name_with_tax }}{% if order_item.variant.option_values_presentation %} ({{ order_item.variant.option_values_presentation }}){% endif %} 商品コード: {{ order_item.product.number }} SKUコード: {{ order_item.variant.sku }} 単価(税抜): {{ order_item.price }} 円 数量: {{ order_item.quantity }} 価格(単価×数量): {{ order_item.price | times: order_item.quantity }} 円 {% endfor %}
出力例
商品名:商品A (サイズ:S 色:赤) 商品コード: P01 SKUコード: SKU01 単価(税抜): 1000円 数量: 2 価格(単価×数量): 2000円 商品名:商品B ※ 商品コード: P02 SKUコード: SKU02 単価(税抜): 1000円 数量: 1 価格(単価×数量): 1000円
購入した商品により表示内容を変えたい
注文完了メールでよく使われる手法です。 受注商品情報に特定の商品コード・SKUコード・商品名を持つ場合に特定の表示をする、などの切り分けが可能です。
if の後の変数は適宜読み替えてください。
設定例
商品コード:order_item.product.number SKUコード:order_item.variant.sku 商品名:order_item.product.name
(a) 完全一致させる場合
※SKUコードでの実行例です。order_item.variant.sku の部分は適宜読み替えてください。
設定例
{% for order_item in order.order_items %} {% if order_item.variant.sku == 'SKU-001' %} SKUコードが「SKU-001」のときに表示したい文章。 {% else %} SKUコードが「SKU-001」以外のときに表示したい文章。SKU-001のときのみ表示させたいときは else は不要です。 {% endif %} {% endfor %}
出力例1
購入商品のSKUコードが「SKU-001」「SKU-002」の2種類のとき
SKUコードが「SKU-001」のときに表示したい文章。
SKUコードが「SKU-001」以外のときに表示したい文章。SKU-001のときのみ表示させたいときは else は不要です。
出力例2
購入商品のSKUコードが「SKU-001」のみのとき
SKUコードが「SKU-001」のときに表示したい文章。
出力例3
購入商品のSKUコードが「SKU-003」のみのとき
SKUコードが「SKU-001」以外のときに表示したい文章。SKU-001のときのみ表示させたいときは else は不要です。
(b) 部分一致で判断したい場合
※商品名での実行例です。order_item.product.name の部分は適宜読み替えてください。
設定例
{% for order_item in order.order_items %} {% if order_item.product.name contains '化粧水' %} 購入商品名に「化粧水」の文字列を含んでいるときに表示したい文章。 {% elsif order_item.product.name contains '乳液' %} 購入商品名に文字列「化粧水」を含まず、文字列「乳液」を含んでいるときに表示したい文章。 {% else %} 購入商品名に文字列「化粧水」「乳液」を含まないときに表示したい文章。 {% endif %} {% endfor %}
出力例1
購入商品名が「超高級化粧水セット」の場合
購入商品名に「化粧水」の文字列を含んでいるときに表示したい文章
出力例2
購入商品名が「美容液&乳液サンプルセット」の場合
購入商品名に文字列「化粧水」を含まず、文字列「乳液」を含んでいるときに表示したい文章。
出力例3
購入商品名が「お手頃美容液」の場合
購入商品名に文字列「化粧水」「乳液」を含まないときに表示したい文章。
出力例4
購入商品名が「超高級化粧水・乳液セット」の場合
購入商品名に「化粧水」の文字列を含んでいるときに表示したい文章。
支払い方法により表示内容を変えたい
注文完了メールでよく使われる手法です。
特定の支払い方法の場合に、決まった文章を表示する際に活用できます。
「支払い方法名」で場合分けを行った場合「支払い方法管理」で支払い方法の表示名称を変更する際は、あわせてメールテンプレートも修正が必要となります。
上記を避けるためには「支払い方法ID」での場合分けをご利用ください。
(a) 支払い方法名で場合分けする場合
設定例
{% if order.payment.payment_method.name == "銀行振込" %} xxxxxx(振込先口座情報) {% endif %}
(b) 支払い方法IDで場合分けする場合
設定例
{% if order.payment.payment_method.id == 15 %} xxxxxx(振込先口座情報) {% endif %}
支払い方法IDは「支払い方法管理」でご確認ください。
この記事の目次
このセクションの記事