Liquid、JavaScriptなどに関する質問
商品詳細ページで、サイズや色違いの商品(別商品)へのリンクを生成したいのですが、方法がわかりません。
通常であれば、サイズや色違いの商品はバリエーションで登録するかと思いますが、今回は個別の商品として保有したいと考えております。
バリエーションで登録すれば、詳細ページでサイズ・色をそれぞれ選択できますが、それと同じ動線でサイズ・色を選択すると他商品ページに遷移する作りにしたいです。
現在テーマはDawnを使用しており、liquidを編集することも可能です。
このような動きはテーマの編集で行えるものでしょうか?
何卒、よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
バリエーションではなく別の商品のページに遷移させる場合、以下のような方法が考えられると思います。
①商品の説明文にHTMLで挿入する
ミニマムで実現をするのであれば、該当商品の説明文にHTMLとして画像やリンクを挿入する形が考えられます。
ご担当者様がHTMLでの編集が可能な場合、Liquidの操作が必要ありませんので、比較的容易に実現ができると思います。
②metafieldsに表示したい関連商品のハンドルを入力してall_productsで出力
メタフィールド入力例:
作成したメタフィールド:custom.product_handle
入力内容:product1,product2,product3(表示したい商品のハンドル)
コード例:
{% assign handleList = product.metafields.custom.product_handle | split: "," %}
でカンマ区切りで入力した商品のメタフィールドを取得する
{% for handle in handleList %}
{{ all_products[handle].title }}
{% endfor %}
all_products[handle]の形で全商品からメタフィールドに入力したハンドルの商品を取得できますので、
titleなど表示したい内容を出力する
参考:
https://shopify.dev/api/liquid/objects
商品タグをベースに出力するなど他の方法も考えられると思いますが、一例としては上記のような形になると思います。
成功
バリエーションではなく別の商品のページに遷移させる場合、以下のような方法が考えられると思います。
①商品の説明文にHTMLで挿入する
ミニマムで実現をするのであれば、該当商品の説明文にHTMLとして画像やリンクを挿入する形が考えられます。
ご担当者様がHTMLでの編集が可能な場合、Liquidの操作が必要ありませんので、比較的容易に実現ができると思います。
②metafieldsに表示したい関連商品のハンドルを入力してall_productsで出力
メタフィールド入力例:
作成したメタフィールド:custom.product_handle
入力内容:product1,product2,product3(表示したい商品のハンドル)
コード例:
{% assign handleList = product.metafields.custom.product_handle | split: "," %}
でカンマ区切りで入力した商品のメタフィールドを取得する
{% for handle in handleList %}
{{ all_products[handle].title }}
{% endfor %}
all_products[handle]の形で全商品からメタフィールドに入力したハンドルの商品を取得できますので、
titleなど表示したい内容を出力する
参考:
https://shopify.dev/api/liquid/objects
商品タグをベースに出力するなど他の方法も考えられると思いますが、一例としては上記のような形になると思います。
返信が遅くなり申し訳ありません。
ご回答いただき、ありがとうございました。
自分でも調べた結果、メタフィールドを使う方法で進めていましたが、配列形式で入力する方法は思いつきませんでした。
「カラー:赤」「カラー:白」など細かく設定した項目にリンク先を入力し、hrefに一つずつ出力する方法しか思いつかず、これではバリエーションが増える度メタフィールドの項目を増やす必要があるため手間だと悩んでおりました・・・。
貴社に教えていただいた②の方法だと、わざわざ項目を増やす必要がなく、ハンドルで入力すればリンク先やタイトル等取り出せるため大変便利ですね!
こちらの方法で進めたいと思います。
この度はご教授いただきありがとうございました!
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024