FROM CACHE - jp_header

ページでの条件分岐

hdm
Shopify Partner
11 2 1

特定のタグが付いた商品が2個以上(同一商品の数量2でも)の時にチェックボックスを表示させたくいろいろと試していますがうまくいきません。

 

{% for item in cart.items limit:1 %}
{% for tag in item.product.tags %}
{% if tag contains "hoge" %}
{% if cart.item_count > 2 %}
<input type="checkbox" class="check" name="test" onclick="getValue();" value="a">a
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}

 


上記内容ですとhogeが一つでも含まれているとチェックボックスが出てしまいます。
cart.item_countをカート内のhogeの数が取得できればそちらに変えて条件分岐できないかと思いましたがわかりませんでした。

カート内のhogeの総数を取得できればいけそうな気がしましが何か良い方法がございましたらご教授いただけると助かります。

3件の返信3
KyoheiOgasawara
Shopify Partner
30 13 30

Hdmさん、はじめまして。

Tsunの小笠原と申します。

 

> 特定のタグが付いた商品が2個以上(同一商品の数量2でも)の時にチェックボックスを表示

 

下記の感じでどうでしょうか?

テストしてないので、うまく動かなったから申し訳ないです。

 

{%- liquid
  assign tag_count = 0

  for item in cart.items
    if item.product.tags contains 'hoge'
      assign tag_count = tag_count | plus: item.quantity
    endif
  endfor

  if tag_count >= 2
    comment
    チェックボックスを表示
    endcomment
  endif
-%}

 

cart.itemsをループして、product.tags内に特定のタグを含む場合に、tag_countに足しています。

(同一商品でも2つあった場合を許容するということでしたので、商品数分足しています)

 

以上、よろしくお願いします。

株式会社Tsun
RuffRuff 目次作成RuffRuff タグ一覧 などのShopifyアプリ開発、ECストアの構築やグロース支援、業務改善を行うコマースソリューションパトナーです。ECストアの立上げ期から安定期までを伴走型でサポートしています。
hdm
Shopify Partner
11 2 1

上記内容で無事解決しました!

assignで特定のタグのitem.quantityを持ってくればよかったのですね。

 

とても勉強になりました。

ありがとうございます。

KyoheiOgasawara
Shopify Partner
30 13 30

Hdmさん、無事解決したようでよかったです。

こちらのスレッドを解決済みにしていただくと、今後参照される方のためにもなりますので、よろしくお願いします。

株式会社Tsun
RuffRuff 目次作成RuffRuff タグ一覧 などのShopifyアプリ開発、ECストアの構築やグロース支援、業務改善を行うコマースソリューションパトナーです。ECストアの立上げ期から安定期までを伴走型でサポートしています。