FROM CACHE - jp_header
解決済

通知メールの条件分岐について

ho-jo
Shopify Partner
9 0 1

通知メールのカスタマイズで以下2つ質問です。

 

1、購入された商品の商品タイプによって通知メールの文言を条件分岐させることは可能でしょうか。

調べたのですが変数がなさそうだったので質問させていただきました。

参考:https://help.shopify.com/ja/manual/orders/notifications/email-variables#line-item-properties

 

2、もし変数がない場合、商品タイトルで条件分岐させようと思ったのですが、こちらもうまくできません。

やりたいことは3パターンに分けることなのですが、ifなのかunlessがふさわしいのかも困っております。

ご教示お願いいたします。

 

・販売商品のみ含まれていた場合の文面 A

・買取商品のみ含まれていた場合の文面 B

・両方含まれていた場合の文面 C

 

{% for line in line_items %}
{% for title in line.title %}
{% unless line.title contains '買取' %}
A
{% else unless line.title contains '販売' %}
B
{% else %}
C(AもBも両方とも含まれる場合) 
{% endunless %}
{% endfor %}
{% endfor %}
1 件の受理された解決策

Qcoltd
Shopify Partner
1051 429 417

成功

@ho-jo

 

ご質問いただいている、商品タイプで通知メールの文面を変更することは可能かと思います。

下記に商品タイプが「販売商品」「買取商品」において、

文面が変更できるサンプルコードを記載させていただきました。

 

サンプルコード

{% assign hasSalesProduct = false %}
{% assign hasBuybackProduct = false %}
{% for line in line_items %}
  {% for product_type in line.product.type %}
    {% if product_type == '販売商品' %}
      {% assign hasSalesProduct = true %}
    {% elsif product_type == '買取商品' %}
      {% assign hasBuybackProduct = true %}
    {% endif %}
  {% endfor %}
{% endfor %}
{% if hasSalesProduct == true and hasBuybackProduct == false %}
  販売商品のみの場合
{% elsif hasSalesProduct == false and hasBuybackProduct == true %}
  買取商品のみの場合
{% else %}
  販売商品と買取商品の両方が含まれている場合
{% endif %}

 

コードの簡単な説明

下記部分で、販売商品・買取商品の商品タイプの変数設定(初期値はfalse)

{% assign hasSalesProduct = false %}
{% assign hasBuybackProduct = false %}

 

下記部分で、実際の注文データを解析し、それぞれの商品タイプがあった場合、
上記で設定した変数にtrueを代入

{% for line in line_items %}
  {% for product_type in line.product.type %}
    {% if product_type == '販売商品' %}
      {% assign hasSalesProduct = true %}
    {% elsif product_type == '買取商品' %}
      {% assign hasBuybackProduct = true %}
    {% endif %}
  {% endfor %}
{% endfor %}

 

下記部分で、それぞれの文面を表示するための分岐(注文データにそれぞれの商品タイプが有るか無いかで判断)

{% if hasSalesProduct == true and hasBuybackProduct == false %}
  販売商品のみの場合
{% elsif hasSalesProduct == false and hasBuybackProduct == true %}
  買取商品のみの場合
{% else %}
  販売商品と買取商品の両方が含まれている場合
{% endif %}

 

ご参考まで

(キュー小坂)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2

Qcoltd
Shopify Partner
1051 429 417

成功

@ho-jo

 

ご質問いただいている、商品タイプで通知メールの文面を変更することは可能かと思います。

下記に商品タイプが「販売商品」「買取商品」において、

文面が変更できるサンプルコードを記載させていただきました。

 

サンプルコード

{% assign hasSalesProduct = false %}
{% assign hasBuybackProduct = false %}
{% for line in line_items %}
  {% for product_type in line.product.type %}
    {% if product_type == '販売商品' %}
      {% assign hasSalesProduct = true %}
    {% elsif product_type == '買取商品' %}
      {% assign hasBuybackProduct = true %}
    {% endif %}
  {% endfor %}
{% endfor %}
{% if hasSalesProduct == true and hasBuybackProduct == false %}
  販売商品のみの場合
{% elsif hasSalesProduct == false and hasBuybackProduct == true %}
  買取商品のみの場合
{% else %}
  販売商品と買取商品の両方が含まれている場合
{% endif %}

 

コードの簡単な説明

下記部分で、販売商品・買取商品の商品タイプの変数設定(初期値はfalse)

{% assign hasSalesProduct = false %}
{% assign hasBuybackProduct = false %}

 

下記部分で、実際の注文データを解析し、それぞれの商品タイプがあった場合、
上記で設定した変数にtrueを代入

{% for line in line_items %}
  {% for product_type in line.product.type %}
    {% if product_type == '販売商品' %}
      {% assign hasSalesProduct = true %}
    {% elsif product_type == '買取商品' %}
      {% assign hasBuybackProduct = true %}
    {% endif %}
  {% endfor %}
{% endfor %}

 

下記部分で、それぞれの文面を表示するための分岐(注文データにそれぞれの商品タイプが有るか無いかで判断)

{% if hasSalesProduct == true and hasBuybackProduct == false %}
  販売商品のみの場合
{% elsif hasSalesProduct == false and hasBuybackProduct == true %}
  買取商品のみの場合
{% else %}
  販売商品と買取商品の両方が含まれている場合
{% endif %}

 

ご参考まで

(キュー小坂)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
ho-jo
Shopify Partner
9 0 1

株式会社Q (キュー) 小坂様

 

ご丁寧な解説とご教示ありがとうございました。

理想の分岐ができました。

こちらのサンプルをもとに応用もできるかと思いますので今後も参考にさせていただきます。

お忙しいところ本当にありがとうございました。