FROM CACHE - jp_header
解決済

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

matsumoto
Shopify Expert
29 1 6

お世話になっております。現在、自社倉庫システムとの連携を行うプライベートアプリを作成中なのですが、

注文情報の連携にあたり、「配送希望日」と「ラッピング」について質問があります。

 

(1)Shopify 上の ストア(ECShop)の標準設定では、「配送希望日」および「ラッピング」の指定はできないものでしょうか?

 

(2)1)の場合、指定できるようにするには「機能拡張用アプリをインストールする」以外に方法は無いのでしょうか?

 

(3)機能拡張用アプリ毎で、orderエンドポイントのレスポンス内容(配送希望日やラッピングが設定されるプロパティが)異なる場合はありますか?

例) アプリA⇒プロパティ「タグ」に配送日が設定される

   アプリB⇒プロパティ「メモ」に配送日が設定される

 

お忙しいところお手数をおかけしますが、ご回答のほどよろしくお願いいたします。

1 件の受理された解決策

Takuma
Shopify Partner
44 7 25

成功

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

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

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

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

 

1.カートを変更する

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

4.png

 

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を探して、その前に先のコードを貼り付けて保存する

6.png

 

設定はここまでです。

 

 

 

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

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

1.png

 

5.データを確認する

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

2.png

 

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

3.png

 

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

 

 

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

元の投稿で解決策を見る

5件の返信5

適用対象外

----------

Takuma
Shopify Partner
44 7 25

成功

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

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

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

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

 

1.カートを変更する

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

4.png

 

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を探して、その前に先のコードを貼り付けて保存する

6.png

 

設定はここまでです。

 

 

 

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

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

1.png

 

5.データを確認する

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

2.png

 

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

3.png

 

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

 

 

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

matsumoto
Shopify Expert
29 1 6

Takumaさん

 

ご丁寧にご説明いただきありがとうございます!

 

手順通りに設定したところ、

orderエンドポイントのレスポンスに「配送希望日」と「ラッピング」が出力されるところまで確認することができました。

本当にありがとうございます。

 

もし(3)についてもご存知でしたらご教授いただきたいです。

追加した属性は、必ず「note_attributes」として出力されるのでしょうか?

今回は下記のようにデータが出力されましたが、

生成したコードによっては結果が異なったりしますか?

(「note_attributes」以外の属性値に出力される場合もある?)

 

 

note_attributes: [
 {
  name: "DeliveryDate",
  value: "2019/02/20"
 },
 {
  name: "Wrapping",
  value: "Yes"
 }
]

 

 

Takuma
Shopify Partner
44 7 25
松本さん、

ご連絡ありがとうございました。
私の認識と経験ではそこ「note_attributes」だけだと思います。データの持ち方もnameとvalueの組み合わせです。

また、ここと配送先情報はデータが出来た後(チェックアウト後)でも追加変更も出来ます。

Shopify Plusを契約するともっと色々できるようですが、どの様な事がどこまで出来るのか残念ながら経験も情報も持ち合わせておりません。
matsumoto
Shopify Expert
29 1 6

Takuma様

 

ご返信ありがとうございます。

 

私の認識と経験ではそこ「note_attributes」だけだと思います。データの持ち方もnameとvalueの組み合わせです。

 

こちらの情報ありがとうございます。

大変参考になります。

 

いただいた情報をもとに色々試してみたいと思います。

ありがとうございました。