「配送希望日」と「ラッピング」について

私も属性を追加して使うことがあるので参考になればと思います。

拡張アプリは不要でShopify単体でできると思います。

Supplyテーマで確認しました。

なお、できる限りその部分に特化したかったので装飾は行っていません。

1.カートを変更する

モーダルだと属性を追加することが出来ないので「ページ」にする

2.Shopify UI Elements Generator でコードを生成する

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

コードの中では、

  • 配送希望日は__DeliveryDate__
  • ラッピングは__Wrapping__

としています。

作成したコード:

<p class="cart-attribute__field">
  <label for="deliverydate">DeliveryDate</label>
  <input id="deliverydate" type="text" name="attributes[DeliveryDate]" value="{{ cart.attributes["DeliveryDate"] }}">
</p>

<p class="cart-attribute__field">
  <input type="hidden" name="attributes[Wrapping]" value="No">
  <input type="checkbox" name="attributes[Wrapping]" value="Yes"{% if cart.attributes["Wrapping"] == "Yes" %} checked{% endif %}>
  <label>Wrapping</label>
</p>

3.cart.liquidにコードを貼り付ける

submitを探して、その前に先のコードを貼り付けて保存する

設定はここまでです。

4.オンラインを開き商品をカートへ入れ開く

以下のように追加した入力項目が表示され入力できる様になる

5.データを確認する

注文管理には以下のように表示される

API /admin/orders.json で参照すると以下のようにデータが入っている

日付入力などはJQueryのDatepickerなども使えるのでカスタマイズを十分に行えます。

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

4 Likes