FROM CACHE - jp_header

Cart attributesを使って注文管理画面に詳細を表示させたい

aiasi
訪問者
2 0 1

https://www.shopify.jp/blog/partner-shopify-theme-customize-cart-attributes-line-item-property-custo...

こちらの記事を参考に、

cart.liquidに配送日時指定と備考欄を追加するために、

https://knap.jp/blog/shopify%E3%81%AE%E3%82%AB%E3%83%BC%E3%83%88%E3%81%AB%E3%81%8A%E5%B1%8A%E3%81%91...

https://ui-elements-generator.myshopify.com/pages/cart-attribute

こちらを使用してフォームを追加したのですが、

配送日時指定や備考欄を記入しても注文管理の詳細に情報が表示されるときとされないときがあります。

表示されないときは詳細の項目自体が注文管理にありません。

 

テーマはSimpleをベースにカスタマイズしており、cart.liquid内の記述は以下の通りです。

ちゃんと注文管理に詳細を出す方法はないでしょうか?

 

 

<div>
  <p class="cart-attribute__field" >
    <label for="date">お届け日を指定してください。:</label>
    <input id="date" type="text" name="attributes[date]" value="{{ cart.attributes.date }}" placeholder="{{ "now" | date: "%s" | plus: 86400 | date: "%Y/%m/%d" }}"/>
  </p>
  <p class="cart-attribute__field">
    <select id="time" name="attributes[time]">
      <option value="指定なし"{% if cart.attributes["time"] == "指定なし" %} selected{% endif %}>指定なし</option>
      <option value="午前中(8時~12時)"{% if cart.attributes["time"] == "午前中(8時~12時)" %} selected{% endif %}>午前中(8時~12時)</option>
      <option value="14時~16時"{% if cart.attributes["time"] == "14時~16時" %} selected{% endif %}>14時~16時</option>
      <option value="16時~18時"{% if cart.attributes["time"] == "16時~18時" %} selected{% endif %}>16時~18時</option>
      <option value="18時~20時"{% if cart.attributes["time"] == "18時~20時" %} selected{% endif %}>18時~20時</option>
      <option value="19時~21時"{% if cart.attributes["time"] == "19時~21時" %} selected{% endif %}>19時~21時</option>
    </select>
  </p>
</div>
<div class="cart-attribute__field" >
  <label for="bikou">備考欄</label>
  <textarea id="bikou" name="attributes[bikou]">{{ cart.attributes["bikou"] }}</textarea>
</div>

 

2件の返信2

Jizo_Inagaki
Shopify Partner
1006 380 697

Simpleは触っていないので把握していませんが、項目自体が表示されないのであれば恐らく何らかのif文(またはunless文)の中に書かれているのではと思います。

例えば「ディスカウント価格が設定されていれば出力する」というif文の中に追加した場合、ディスカウント価格の設定がなければ表示されない、という状態です。

そのため以下のいずれかで表示できるのではと思います。

  • if文を確認し、記載位置を変更する
  • elsifやelseがあるなら、不足している方に記載する(どちらの状態でも表示させるように複数箇所に記載する)

他には記載された状態ですと可能性は低いですが、キャッシュの問題も考えられるためキャッシュの削除が有効かもしれません。

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。
aiasi
訪問者
2 0 1

>Simpleは触っていないので把握していませんが、項目自体が表示されないのであれば恐らく何らかのif文(またはunless文)の中に書かれているのではと思います。

書き方が悪くてすみません、カートに入力フォーム自体は表示されるのですが、

フォームに入力した内容が注文管理画面の詳細に表示されないため質問させていただきました。

 

確認してみたところ、カート内にディスカウント価格の商品がある場合に入力内容が管理画面に表示されないようでした。

特にif文などは書いていないので、使用しているアプリの影響かもしれません。

もう少し調べてみたいと思います。