Shopify アプリに関する話題はこちら
お世話になっております。現在、自社倉庫システムとの連携を行うプライベートアプリを作成中なのですが、
注文情報の連携にあたり、「配送希望日」と「ラッピング」について質問があります。
(1)Shopify 上の ストア(ECShop)の標準設定では、「配送希望日」および「ラッピング」の指定はできないものでしょうか?
(2)1)の場合、指定できるようにするには「機能拡張用アプリをインストールする」以外に方法は無いのでしょうか?
(3)機能拡張用アプリ毎で、orderエンドポイントのレスポンス内容(配送希望日やラッピングが設定されるプロパティが)異なる場合はありますか?
例) アプリA⇒プロパティ「タグ」に配送日が設定される
アプリB⇒プロパティ「メモ」に配送日が設定される
お忙しいところお手数をおかけしますが、ご回答のほどよろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
私も属性を追加して使うことがあるので参考になればと思います。
拡張アプリは不要でShopify単体でできると思います。
Supplyテーマで確認しました。
なお、できる限りその部分に特化したかったので装飾は行っていません。
1.カートを変更する
モーダルだと属性を追加することが出来ないので「ページ」にする
2.Shopify UI Elements Generator でコードを生成する
URL https://ui-elements-generator.myshopify.com/pages/cart-attribute
コードの中では、
としています。
作成したコード:
<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なども使えるのでカスタマイズを十分に行えます。
ご参考になれば幸いです。
----------
成功
私も属性を追加して使うことがあるので参考になればと思います。
拡張アプリは不要でShopify単体でできると思います。
Supplyテーマで確認しました。
なお、できる限りその部分に特化したかったので装飾は行っていません。
1.カートを変更する
モーダルだと属性を追加することが出来ないので「ページ」にする
2.Shopify UI Elements Generator でコードを生成する
URL https://ui-elements-generator.myshopify.com/pages/cart-attribute
コードの中では、
としています。
作成したコード:
<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なども使えるのでカスタマイズを十分に行えます。
ご参考になれば幸いです。
Takumaさん
ご丁寧にご説明いただきありがとうございます!
手順通りに設定したところ、
orderエンドポイントのレスポンスに「配送希望日」と「ラッピング」が出力されるところまで確認することができました。
本当にありがとうございます。
もし(3)についてもご存知でしたらご教授いただきたいです。
追加した属性は、必ず「note_attributes」として出力されるのでしょうか?
今回は下記のようにデータが出力されましたが、
生成したコードによっては結果が異なったりしますか?
(「note_attributes」以外の属性値に出力される場合もある?)
note_attributes: [ { name: "DeliveryDate", value: "2019/02/20" }, { name: "Wrapping", value: "Yes" } ]
Takuma様
ご返信ありがとうございます。
>私の認識と経験ではそこ「note_attributes」だけだと思います。データの持ち方もnameとvalueの組み合わせです。
こちらの情報ありがとうございます。
大変参考になります。
いただいた情報をもとに色々試してみたいと思います。
ありがとうございました。
Shopifyのチェックアウトは世界一コンバージョン率が高いチェックアウトです。2023年4月に実施された世界3大手マネジメントコンサルティング会社の共同調査によると、Sho...
By Minami_ Apr 11, 2024Shopifyのルーツ Shopifyは、スノーボードをオンラインで販売したいという夢を叶えるために2004年に誕生しました。当時は大企業だけがインターネットで販売す...
By JapanGuru Apr 7, 2024リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024