hdm
December 8, 2022, 11:18am
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 %}
a
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
上記内容ですとhogeが一つでも含まれているとチェックボックスが出てしまいます。
cart.item_countをカート内のhogeの数が取得できればそちらに変えて条件分岐できないかと思いましたがわかりませんでした。
カート内のhogeの総数を取得できればいけそうな気がしましが何か良い方法がございましたらご教授いただけると助かります。
1 Like
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つあった場合を許容するということでしたので、商品数分足しています)
以上、よろしくお願いします。
hdm
December 9, 2022, 8:39am
3
上記内容で無事解決しました!
assignで特定のタグのitem.quantityを持ってくればよかったのですね。
とても勉強になりました。
ありがとうございます。
Hdmさん、無事解決したようでよかったです。
こちらのスレッドを解決済みにしていただくと、今後参照される方のためにもなりますので、よろしくお願いします。