急ぎで質問がございます。
テーマDawnで構築を行っております。
以下の「カートページにギフト包装のオプションを追加する」を参照して、
cartページにて、紙袋の有無を選択できるようなカスタマイズを実装しています。
https://help.shopify.com/ja/manual/online-store/themes/themes-by-shopify/vintage-themes/customizing-vintage-themes/add-gift-wrap-option
<div class="bagOption">中身は省略</div>
この度、新しいコレクション(仮にsubscriptionとします)を追加したのですが、
subscriptionの商品がカート内に入っている時は、以下の"bagOption”のクラス自体を非表示にしたいです。
もしお分かりになる方がいらっしゃいましたら、ご教授いただけますと幸いです。
よろしくお願い申し上げます。
前提不明のため以下の前提と要望に絞って方向性のみ記載します。
- subscriptionコレクションに属する商品がカートに入っている時にのみ、カートページで何らかの動作を実行したい
- liquidのみので対応
■方向性の一例
cart.itemsから辿ってsubscriptionコレクションに属する商品か否かを判別し、その情報を使ってif文を作り表示切り替えを行うことが検討できます。
ただしこの方法ではカート内で該当商品を削除した場合に表示切り替えは動作しません。
この点に関しては対応が必要な場合はJSを併用する必要があると思いますが、恐らく仕組みから考え直す必要があるかなと思います。
試していないため推測ですが、liquidで該当コレクション内の全商品のIDを取得してJS内に変数として出力しておき、その変数を元にJSで表示を操作するなどが考えられるかもしれません。
参考:
https://shopify.dev/docs/api/liquid/objects/cart#cart-items
https://shopify.dev/docs/api/liquid/objects/line_item#line_item-product
https://shopify.dev/docs/api/liquid/objects/product#product-collections
https://shopify.dev/docs/api/ajax/reference/cart
以上ですが、想定が間違っている場合は申し訳ありません。
他方、想定は合っているが回答がよくわからないという場合はエキスパートやパートナーに依頼することをお勧めします。
または、記載されているヘルプにある通りテーマサポートの依頼が検討できるかもしれません。