お世話になっております。現在、自社倉庫システムとの連携を行うプライベートアプリを作成中なのですが、
注文情報の連携にあたり、「配送希望日」と「ラッピング」について質問があります。
(1)Shopify 上の ストア(ECShop)の標準設定では、「配送希望日」および「ラッピング」の指定はできないものでしょうか?
(2)1)の場合、指定できるようにするには「機能拡張用アプリをインストールする」以外に方法は無いのでしょうか?
(3)機能拡張用アプリ毎で、orderエンドポイントのレスポンス内容(配送希望日やラッピングが設定されるプロパティが)異なる場合はありますか?
例) アプリA⇒プロパティ「タグ」に配送日が設定される
アプリB⇒プロパティ「メモ」に配送日が設定される
お忙しいところお手数をおかけしますが、ご回答のほどよろしくお願いいたします。
Takuma
3
私も属性を追加して使うことがあるので参考になればと思います。
拡張アプリは不要で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
Takumaさん
ご丁寧にご説明いただきありがとうございます!
手順通りに設定したところ、
orderエンドポイントのレスポンスに「配送希望日」と「ラッピング」が出力されるところまで確認することができました。
本当にありがとうございます。
もし(3)についてもご存知でしたらご教授いただきたいです。
追加した属性は、必ず「note_attributes」として出力されるのでしょうか?
今回は下記のようにデータが出力されましたが、
生成したコードによっては結果が異なったりしますか?
(「note_attributes」以外の属性値に出力される場合もある?)
note_attributes: [
{
name: "DeliveryDate",
value: "2019/02/20"
},
{
name: "Wrapping",
value: "Yes"
}
]
1 Like
Takuma
5
松本さん、
ご連絡ありがとうございました。
私の認識と経験ではそこ「note_attributes」だけだと思います。データの持ち方もnameとvalueの組み合わせです。
また、ここと配送先情報はデータが出来た後(チェックアウト後)でも追加変更も出来ます。
Shopify Plusを契約するともっと色々できるようですが、どの様な事がどこまで出来るのか残念ながら経験も情報も持ち合わせておりません。
Takuma様
ご返信ありがとうございます。
>私の認識と経験ではそこ「note_attributes」だけだと思います。データの持ち方もnameとvalueの組み合わせです。
こちらの情報ありがとうございます。
大変参考になります。
いただいた情報をもとに色々試してみたいと思います。
ありがとうございました。
1 Like