Liquid、JavaScriptなどに関する質問
一つの商品ページに関して、コレクションページから遷移した時はテンプレート1を、
コレクションページから遷移した時はテンプレート2で表示させたいと思っているのですが可能でしょうか?
遷移元のURLを取得できるLiquidがあれば可能かなと考えています。
解決済! ベストソリューションを見る。
成功
初めまして。
新垣と申します。
結論として、遷移元のURLはLiquidでは取得できませんが、JavaScriptを用いることで取得(判別?)できます。
以下はリファラーを確認して遷移元のURL判別する一例です。
*添付コードは例示的なもので動作を保証していません。。
document.addEventListener('DOMContentLoaded', function() {
var referrer = document.referrer;
if (referrer.includes('/collections/')) {
// コレクションページからの遷移の場合、テンプレート1を適用
applyTemplate1();
} else {
// それ以外の場合、テンプレート2を適用
applyTemplate2();
}
});
function applyTemplate1() {
// テンプレート1に関するコード
}
function applyTemplate2() {
// テンプレート2に関するコード
}
一点質問なのですが、ここで言及されているテンプレート1,2は管理画面から選択する商品テーマテンプレートのことでしょうか。
その場合、テーマテンプレートを動的に変更することはできないので[テンプレート1の商品A]と[テンプレート2の商品A]の同じ商品で別テンプレートのものを2つ用意しておき、リファラーで確認したのち各URLへとリダイレクトさせる方法が考えられます。
また、リファラーでなくてもJavaScriptで付与したクエリパラメータを取得し遷移元を判別する方法もあります。
回答になっていたら幸いです。
成功
初めまして。
新垣と申します。
結論として、遷移元のURLはLiquidでは取得できませんが、JavaScriptを用いることで取得(判別?)できます。
以下はリファラーを確認して遷移元のURL判別する一例です。
*添付コードは例示的なもので動作を保証していません。。
document.addEventListener('DOMContentLoaded', function() {
var referrer = document.referrer;
if (referrer.includes('/collections/')) {
// コレクションページからの遷移の場合、テンプレート1を適用
applyTemplate1();
} else {
// それ以外の場合、テンプレート2を適用
applyTemplate2();
}
});
function applyTemplate1() {
// テンプレート1に関するコード
}
function applyTemplate2() {
// テンプレート2に関するコード
}
一点質問なのですが、ここで言及されているテンプレート1,2は管理画面から選択する商品テーマテンプレートのことでしょうか。
その場合、テーマテンプレートを動的に変更することはできないので[テンプレート1の商品A]と[テンプレート2の商品A]の同じ商品で別テンプレートのものを2つ用意しておき、リファラーで確認したのち各URLへとリダイレクトさせる方法が考えられます。
また、リファラーでなくてもJavaScriptで付与したクエリパラメータを取得し遷移元を判別する方法もあります。
回答になっていたら幸いです。
回答いただきありがとうございます。
テンプレート1,2は管理画面から選択する商品テーマテンプレートのことでしょうか。
→はい、その通りです。
今回は仕様自体が変更になりまして実装の必要がなくなりました。
今後のためにも参考にさせていただきたいと思います。
有益な回答ありがとうございました。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025