Liquid、JavaScriptなどに関する質問
商品にバリエーションをもたせて、各バリエーションに紐づく画像を設定しています。
すると、商品ページでバリエーションを変えた際に、追従して各バリエーションの画像に切り替わります。
しかし、商品ページを開いた初期状態でいずれかのバリエーションが選択されている状態のため、本来初めに表示したい画像とは別の画像が表示されてしまいます。
▼実現したい状況
商品ページを開いた初期状態で、バリエーション選択がされていない状態にする。
各バリエーションの変更に追従して、画像が切り替わる。
テーマは「Simple」を使用しており、空欄のOptionを追加してSelectedにしようとしたのですが、
どうやらバリエーション選択のセレクトボックスは別の箇所で指定されているらしく見当たりませんでした。
よろしくお願いいたします
解決済! ベストソリューションを見る。
成功
この件は英語フォーラムの以下のスレッドにていくつか対応策が書かれていましたので、いずれかで実現できるかもしれません。
なお、以下は興味があったので試作してみた案です。一応Debutでは動いたのでSimpleでも動くかもしれません。
結構強引な方法なので、仮に動いたとしても問題が出るようなら別の案を試されることをお勧めします。
目的は以下の通りです
手順は以下の通りです。
上記2で追加するのは以下のコードです。(querySelectorで指定するクラス名はサムネイル画像を包含するaタグのクラスを指定してください)
{% unless product.selected_variant %}
<script>
var f = function() {
document.querySelector('.product-single__thumbnails .product-single__thumbnail').click();
window.removeEventListener( 'load', f, false );
}
window.addEventListener( 'load', f, false );
</script>
{% endunless %}
意図する動作は以下の通りです。
もしも内容がご要望と違う場合は申し訳ありません。
成功
この件は英語フォーラムの以下のスレッドにていくつか対応策が書かれていましたので、いずれかで実現できるかもしれません。
なお、以下は興味があったので試作してみた案です。一応Debutでは動いたのでSimpleでも動くかもしれません。
結構強引な方法なので、仮に動いたとしても問題が出るようなら別の案を試されることをお勧めします。
目的は以下の通りです
手順は以下の通りです。
上記2で追加するのは以下のコードです。(querySelectorで指定するクラス名はサムネイル画像を包含するaタグのクラスを指定してください)
{% unless product.selected_variant %}
<script>
var f = function() {
document.querySelector('.product-single__thumbnails .product-single__thumbnail').click();
window.removeEventListener( 'load', f, false );
}
window.addEventListener( 'load', f, false );
</script>
{% endunless %}
意図する動作は以下の通りです。
もしも内容がご要望と違う場合は申し訳ありません。
ご回答ありがとうございます。
英語フォーラムも確認しまし、試作して頂いたコードで動作を確認しました。
メインの画像が切り変わるのに少し時間を要しますが、目的にかなったものとなっています。
ありがとうございました。
今後ともよろしくお願いいたします。
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024