Liquid、JavaScriptなどに関する質問
管理画面のコンテンツ>ファイルから画像ファイル等をアップロードし、そのファイルへのリンクをテーマ内に設置しています。
管理画面でリンクをコピーするボタンを押すと末尾に?v=xxxxxxxというようなパラメータが付いたURLが取得できるのでこれを利用してテーマの中に埋め込んでいます。
画像の差し替えが発生した場合、「画像の編集とプレビュー」の画面からリプレイスすることができるかと思いますが、差し替えるとURLの末尾のv=は新しい数字になるかと思います。
この場合のv=のパラメータは単なるキャッシュを防ぐためのものではなく、別のバージョンのファイルを内部的には保持しているのでしょうか?
管理画面で画像を差し替えればストアで使われている画像も変わる、という状況にしたいのですがなにか良い方法はありますでしょうか?
例)
・v=のパラメータをつけなければ最新のファイルになる
・ 画像を差し替えた際は当該箇所のURLはパラメータを置き換える必要がある
etc
解決済! ベストソリューションを見る。
成功
メタフィールドやショートコードでも同様ですが、テーマエディタであればliquidが書けるセクションの利用や、テキスト入力用セクションを作れば対応可能に思います。
どのような方法であれ以下のようにフィルタを使ってファイル名を渡せれば良いので、パラメータは関係ないはずです。
https://shopify.dev/docs/api/liquid/filters/file_img_url
>管理画面で画像を差し替えればストアで使われている画像も変わる、という状況にしたい
運用方法や設置場所などの詳細不明のため要件に合致しているかわかりませんが、以下などで対応できるかなと思います。
参考
https://help.shopify.com/ja/manual/custom-data/metafields
https://help.shopify.com/ja/manual/custom-data/metaobjects
https://github.com/culturekings/shopify-shortcodes
回答ありがとうございます。
→今回は具体的には特定の1ページにのみ使うPDFだったため、問題は解決するもののあまり適さないのではないかと思っておりました。
→テーマエディタは使用していますが、テーマエディタ上でファイルの置き換えはできないというか、同名でファイルをアップロードするとShopifyがリネームしてしまうのが困っているポイントです。
ショートコードは今回の私の要求を満たしてくれるものではありませんでした。
成功
メタフィールドやショートコードでも同様ですが、テーマエディタであればliquidが書けるセクションの利用や、テキスト入力用セクションを作れば対応可能に思います。
どのような方法であれ以下のようにフィルタを使ってファイル名を渡せれば良いので、パラメータは関係ないはずです。
https://shopify.dev/docs/api/liquid/filters/file_img_url
回答ありがとうございます。
複数の課題が混ざった質問になってしまったためわかりにくくてすみません。
1. ファイルアップ時のパラメータがどのような役割を果たすのか
→こちらはサポートに聞いてみようと思います。
2. 仮にパラメータ付きのファイルのURLを使ってそのままやる場合、どのように差し替えの運用をするか
typeがimage_pickerでやることばかり考えていましたが、アドバイスいただいたようにliquid形式やテキスト入力形式にしてそこにファイルのパスを入れたりすることで対応できそうですのでそのような運用を検討したいと思います。
ありがとうございました。
ベストソリューションとさせていただきます。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024