「追加の詳細」を注文の確認メールに追加したい

コーディングで追加した追加の詳細(cart.attributes)の情報をお客様へ送信される注文の確認メールに追加したいです。

可能であれば、入力された場合のみ追加されるようにしたいです。

編集が必要な箇所までは分かったのですが、(通知→お客様通知→注文の確認→コードを編集)

ここにどのようなタグを追加すればいいのかわかりませんでした。

初めまして。

下記liquidのコードを挿入することで対応可能かと存じます。

{% if order.attributes != blank %}
  ### 追加情報:
  
  {% for attribute in order.attributes %}
    {% if attribute[1] != blank %}
      - {{ attribute[0] }}: {{ attribute[1] }}
    {% endif %}
  {% endfor %}
  

{% endif %}

コードの説明

  1. {% if order.attributes != blank %}: 注文に属性が存在するかチェックします。
  2. {% for attribute in order.attributes %}: 全ての注文属性をループで処理します。
  3. {% if attribute[1] != blank %}: 属性の値が空でない場合のみ表示します。
  4. {{ attribute[0] }}: 属性の名前(キー)を表示します。
  5. {{ attribute[1] }}: 属性の値を表示します。

上記を参考に、表示したいフォーマットに修正いただければと思います。

ご参考になれば幸いです。

1 Like

ご回答ありがとうございます。

ちなみに、追加の項目が複数ある場合はどのように記載すればよろしいでしょうか?

下記の3項目を呼び出したいです。

<dl>
  <dt></dt>
  <dd></dd>
</dl>
<dl>
  <dt></dt>
  <dd></dd>
</dl>
<dl>
  <dt></dt>
  <dd></dd>
</dl>

上記のコードでも複数呼び出せますが、もし明示的に3つ呼び出したいのなら下記のように書けば

表示できるかと思います。

{% if order.attributes["ご請求者様 氏名"] != blank or order.attributes["ご請求者様 電話番号"] != blank or order.attributes["ご請求者様 住所"] != blank %}
  ### ご請求者様情報:
  
    {% if order.attributes["ご請求者様 氏名"] != blank %}
      - **氏名:** {{ order.attributes["ご請求者様 氏名"] }}

    {% endif %}
    {% if order.attributes["ご請求者様 電話番号"] != blank %}
      - **電話番号:** {{ order.attributes["ご請求者様 電話番号"] }}

    {% endif %}
    {% if order.attributes["ご請求者様 住所"] != blank %}
      - **住所:** {{ order.attributes["ご請求者様 住所"] }}
    {% endif %}
  

{% endif %}
1 Like

ありがとうございます。

明日、試してみたいと思います。

本日、記載いただいたものに修正を行いましたところ、無事に反映されていることを確認できました。

お忙しい中、ご丁寧に教えていただきありがとうございました。