Liquid、JavaScriptなどに関する質問
特定の商品タイプAとBの商品を同時に購入できないようにする購入制限をかけたいです。
例えば商品タイプAと商品タイプBがあったとして、商品タイプAの商品同士であれば購入可能、同じく商品タイプBの商品同士でも購入可能だが、商品タイプAの商品と商品タイプBの商品を一回のチェックアウトで同時に購入することはできないようにしたいです。
現在はShopifyアプリの「Limitsify – min/max limits」などをテスト環境にインストールして検証していますが、商品タイプごとで数量を制限することはできても特定の組み合わせにおいて商品を購入できなくするという機能はなさそうです。
ちなみに商品タイプごとと書きましたが、商品カテゴリーやタグなどによるグルーピングでも問題ないです。
ぜひともお力をお貸しいただけると助かります。
解決済! ベストソリューションを見る。
成功
{%- comment -%}
---------------------------------------------------------------------
同時購入禁止
---------------------------------------------------------------------
{%- endcomment -%}
{%- for item in cart.items -%}
{%- if item.product.type == '商品グループA' -%}
{% assign typeA = true %}
{%- endif -%}
{%- if item.product.type == '商品グループB' -%}
{% assign typeB = true %}
{%- endif -%}
{%- endfor -%}
{%- unless typeA == true and typeB == true -%}
購入ボタン
{%- endunless -%}
ありがとうごまいます。無事実装できました!
Liquidの知識がある前提ですが、cart.liquidで、頂いている条件に合致する場合、Checkoutへのリンクを表示しない様にするのが
基本的な対応になると思います
ご回答いただきありがとうございます。
プログラム知識が浅いもので、「cart.items.product.type」で商品タイプを取得して、商品タイプAと商品タイプBがカート内に混在している場合は購入ボタンを出力しないというようなプログラムになると思うのですが、具体的にどのように組めば良いのかわからず苦戦しております。
cart-template.liquidに下記の様なコードを組んでみたのですが、「商品タイプA」「商品タイプB」の部分が日本語なのが原因で 保存すらできません。
そもそもコード自体もあっているのかどうか微妙です、、、
{%- for item in cart.items -%}
{%- if item.product.type == 商品タイプA -%}
{% assign typea = true %}
{%- elsif item.product.type == 商品タイプB -%}
{% assign typeb = true %}
{%- endif -%}
{%- endfor -%}
{%- unless typea == true and typeb == true -%}
購入ボタン
{%- endunless -%}
現在は特定の商品タイプの同士がカートにある時、購入ボタンを消す仕様ですが、ある商品グループAとある商品グループBを同時に購入できないようにするという仕様が実現できましたら、何で区別しても構いません。
お手すきの際に正しいコードの書き方を、ヒントでも構いませんので、教えていただければ幸いです。
商品タイプA と 商品タイプB の部分は文字列ですので、 ' で囲む必要があります。保存できないのは、それが原因で構文エラーが出ているためかと思います。
https://shopify.dev/docs/themes/liquid/reference/basics
あとは、ぱっと見た感じ正しいように見えます。
成功
{%- comment -%}
---------------------------------------------------------------------
同時購入禁止
---------------------------------------------------------------------
{%- endcomment -%}
{%- for item in cart.items -%}
{%- if item.product.type == '商品グループA' -%}
{% assign typeA = true %}
{%- endif -%}
{%- if item.product.type == '商品グループB' -%}
{% assign typeB = true %}
{%- endif -%}
{%- endfor -%}
{%- unless typeA == true and typeB == true -%}
購入ボタン
{%- endunless -%}
ありがとうごまいます。無事実装できました!
ユーザー | ランク |
---|---|
46 | |
30 | |
22 | |
4 | |
4 |
山田繊維株式会社(むす美)は京都の地で風呂敷製造卸売業:山田貫七商店として昭和12年に創業。メイン商材は1000年以上前から使われているという記録がある風呂敷で、その他ハンカチや袱...
By Nanami Jan 12, 2023過去に失われた売り上げを回復するには?Shopifyの新しい自動化機能を活用し、失われた売り上げを簡単に回復する方法を学びましょう!
By Mirai Jan 10, 2023オンラインストアの構築が完了しましたら、一般公開をする前にいくつかのテスト注文を行い、チェックアウトプロセスを確認することが大事です。Shopifyペイメントをご利用いただいている...
By rinaflora Dec 4, 2022