FROM CACHE - jp_header

Debutでコレクションのメタフィールドの値によって商品詳細ページのカートボタンを出し分けたい

解決済

Debutでコレクションのメタフィールドの値によって商品詳細ページのカートボタンを出し分けたい

nrk
Shopify Partner
14 0 3

店舗受取型の複数の店舗をコレクションで分けている飲食店サイトを制作しています。(テーマはDbut)

 

それぞれの店舗はそれぞれ異なる定休日・営業時間なので、

店舗(コレクション)ごとに定休日・営業時間外は商品詳細ページの「カートに追加する」ボタンを反応させなくする方法を探しています。

各店舗スタッフが定休日や営業時間を変更できるように、商品管理>コレクションのメタフィールドに入力された値によってカートボタンの出しわけを行いたいのですが、良い方法はないでしょうか?

 

また、コレクションのメタフィールドの値を商品詳細ページ(メタフィールドを入力されたコレクションに属する商品)に出力はできるのでしょうか?

 

知識不足な所が多々あり的外れな質問なのかもしれませんが、よろしくお願いいたします。

1 件の受理された解決策

Qcoltd
Shopify Partner
1079 442 436

成功

他にも方法があるかもしれませんので、

あくまで一例とお考えください。

 

商品詳細ページ(product)からコレクションの情報にアクセスするには、

次のようなURL形式で商品詳細ページにアクセスする必要があります。

 

通常:

yourstore.myshopify.com/products/product-handle

コレクションの情報にアクセスしたい場合:

yourstore.myshopify.com/collections/collection-title/products/product-handle

 

コレクションの情報にアクセスしたい場合のURLで、

商品詳細ページにアクセスしますと、

{{ collection.metafields.namespace.key }}

というタグで、

商品詳細ページの中で、

コレクションのメタフィールドを扱うことができます。

 

「コレクションの情報にアクセスしたい場合のURL」は、

コレクションページ内の、商品詳細ページへのリンクURLを下記に変更することで、

得られます。

※おそらく、スニペットの、product-card-grid.liquid を編集することになるかと思います。

 

{{ product.url }}

{{ product.url | within: collection }}

 

こうすることで、

コレクションページに掲載された商品へのリンクURLが、

「コレクションの情報にアクセスしたい場合のURL」の形式になります。

 

しかし、

通常のURLで、アクセスされてしまうと、

商品詳細ページ内で、コレクションの情報にアクセスできなくなってしまいます。

 

もし、

各商品が、必ず1つだけのコレクションに所属する、という運用をなされているようでしたら、

「通常のURL」にアクセスがあった場合に、

「コレクションの情報にアクセスしたい場合のURL」に、

リダイレクトさせると良いかもしれません。

 

しかし、このためには、商品情報に、所属しているコレクションのURLを、

何らかの方法で持たせる必要があるかもしれません。

商品タグか、商品情報のメタフィールドを設定することになるのではないかと思います。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

2件の返信2

Qcoltd
Shopify Partner
1079 442 436

成功

他にも方法があるかもしれませんので、

あくまで一例とお考えください。

 

商品詳細ページ(product)からコレクションの情報にアクセスするには、

次のようなURL形式で商品詳細ページにアクセスする必要があります。

 

通常:

yourstore.myshopify.com/products/product-handle

コレクションの情報にアクセスしたい場合:

yourstore.myshopify.com/collections/collection-title/products/product-handle

 

コレクションの情報にアクセスしたい場合のURLで、

商品詳細ページにアクセスしますと、

{{ collection.metafields.namespace.key }}

というタグで、

商品詳細ページの中で、

コレクションのメタフィールドを扱うことができます。

 

「コレクションの情報にアクセスしたい場合のURL」は、

コレクションページ内の、商品詳細ページへのリンクURLを下記に変更することで、

得られます。

※おそらく、スニペットの、product-card-grid.liquid を編集することになるかと思います。

 

{{ product.url }}

{{ product.url | within: collection }}

 

こうすることで、

コレクションページに掲載された商品へのリンクURLが、

「コレクションの情報にアクセスしたい場合のURL」の形式になります。

 

しかし、

通常のURLで、アクセスされてしまうと、

商品詳細ページ内で、コレクションの情報にアクセスできなくなってしまいます。

 

もし、

各商品が、必ず1つだけのコレクションに所属する、という運用をなされているようでしたら、

「通常のURL」にアクセスがあった場合に、

「コレクションの情報にアクセスしたい場合のURL」に、

リダイレクトさせると良いかもしれません。

 

しかし、このためには、商品情報に、所属しているコレクションのURLを、

何らかの方法で持たせる必要があるかもしれません。

商品タグか、商品情報のメタフィールドを設定することになるのではないかと思います。

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
nrk
Shopify Partner
14 0 3

ありがとうございます!

参考にさせていただきます!