FROM CACHE - jp_header
解決済

商品紹介ページに送料のテーブルを表示させたい

ayaMatsu
Shopify Partner
11 0 0

お世話になります。初歩的な質問かもしれないですが。。どなたか教えて頂けると幸いです。

 

  • ストア構築中です
  • 使用テーマ:Venture
  • やりたいこと:送料の目安をチェックアウト以前に知ってもらうために、商品紹介ページ(詳細ページ?)にその商品に該当する国内の各地域の送料を表示させたい
  • 商品の重量、各地域用の配送プロファイルは予め登録しておく
  • イメージは下記のようなもの
 北海道東北関東甲信越〜略〜
送料700600500600〜略〜

 

対応したこと

下記ページを見て、「shipping_method.handle」「shipping_method.price」を使用すれば表示できるのかなと思ったのですが、
product-template.liquid ファイル内に例えば {{ shipping_method.price | money }} と記述しても、表示させることができませんでした。

→ https://shopify.dev/docs/themes/liquid/reference/objects/shipping_method

 

shipping_methodは使用できる場所が限られていますでしょうか?

 

お手数をおかけします。宜しくお願いいたします。

もしお役に立てたら"いいね"と、
解決できたら"ベストソリューションとして承認"をお願いします(*´ω`*)
If helpful then please Like and Accept Solution 🙂 !!
1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

APIであれば配送設定周りのデータを取れますが、Liquidは難しいかと思います。

https://shopify.dev/docs/admin-api/graphql/reference/shipping-and-fulfillment

custom appを作ってapp proxy経由でAjax通信でデータを取得するか、一定期間で設定を見てデータをMetafiledsに格納して、Liquidで参照などのアプローチが取れますが、とても大がかりなので、シンプルに設定を見て内容をハードコーディングして表示するのが一番無難な気がします。

 

Senior Partner Solutions Engineer

元の投稿で解決策を見る

7件の返信7

さんつ
Shopify Partner
43 14 53

同じような質問と回答がありましたので、リンクを記載しておきます。
Shipping Method for Product Page 

shipping_methodオブジェクトは、商品ページではなく注文確認用のオブジェクトのようです。
また、Liquid を使用して配送プロファイルにアクセスすることもできないようです。
宜しくお願い致します。

ayaMatsu
Shopify Partner
11 0 0

さっそくありがとうございます!!英語で調べることが難しかったので、とても助かりました><

liquidとHTML,CSSだけで、各地域用の配送プロファイルと連動したテーブルを作ることは難しいということですね。

アプリ開発の勉強をしたらできるようになりますでしょうか?

もしお役に立てたら"いいね"と、
解決できたら"ベストソリューションとして承認"をお願いします(*´ω`*)
If helpful then please Like and Accept Solution 🙂 !!

Jizo_Inagaki
Shopify Partner
989 373 690

少々興味があり調べまして、バッドノウハウだと思いますが一案記載します。
ちゃんとした回答ではありませんので、その点留意ください。

 

https://shopify.dev/docs/themes/ajax-api/reference/cart#generate-shipping-rates

上記URLの内容を利用して、以下のように特定の設定(例は「都庁のZIPコード」「日本」「東京」で指定)で送料関連の情報を呼び出すことはできました。
実行すればブラウザのコンソールで送料含めて値を確認できるかと思います。

 

<script>
jQuery.get('/cart/shipping_rates.json?shipping_address[zip]=1638001&shipping_address[country]=Japan&shipping_address[province]=Tokyo',function(data){
    console.dir(data);
  }); </script>

 

これを利用して、全都道府県の分だけ上記コードを繰り返し、ここから値を得て不足を補いつつHTMLで整形すれば、一応表にはできるかもしれません。

なお、お勧めしない理由は以下の通りです。

  •  Shopifyの送料関係は複雑な条件の組み合わせが可能なため一覧作成自体が難しいと思われる
  • 同様の理由で一定の値が取れると保証できるか不明
  • 表示速度に悪影響が出る可能性がある
  • この方法自体が想定された使い方とは思えない

 

以上ですが、もしも私がお勧めするのであれば以下になりそうです。

  • 実現可能性の検証含めてパートナーやエキスパートの方に相談する
  • 連動を断念して静的HTMLで表を作成する

あまり役に立たない情報で申し訳ありません。

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

申し訳ありません。

こちらカートに商品がないと値が取れませんね...。

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

色々とお調べ頂きありがとうございます^^勉強になりました!!

もしお役に立てたら"いいね"と、
解決できたら"ベストソリューションとして承認"をお願いします(*´ω`*)
If helpful then please Like and Accept Solution 🙂 !!

junichiokamura
Community Manager
1200 280 506

成功

APIであれば配送設定周りのデータを取れますが、Liquidは難しいかと思います。

https://shopify.dev/docs/admin-api/graphql/reference/shipping-and-fulfillment

custom appを作ってapp proxy経由でAjax通信でデータを取得するか、一定期間で設定を見てデータをMetafiledsに格納して、Liquidで参照などのアプローチが取れますが、とても大がかりなので、シンプルに設定を見て内容をハードコーディングして表示するのが一番無難な気がします。

 

Senior Partner Solutions Engineer
ayaMatsu
Shopify Partner
11 0 0

APIやcustom appの勉強が必要になるのですね・・!

マーチャント様が運用を自走し始めたときに配送設定「だけ」操作すればいいようにしたく、、

一旦はハードコーディングして、APIとアプリの勉強を今後していく方針にします!!

 

ありがとうございます!

もしお役に立てたら"いいね"と、
解決できたら"ベストソリューションとして承認"をお願いします(*´ω`*)
If helpful then please Like and Accept Solution 🙂 !!