【发布时间】:2018-04-11 07:17:35
【问题描述】:
我正在使用 Shopify。我在收集页面中,我正在获取所有带有标签计数的过滤器,
All Products
Apple(4)
Banana(2)
Orange(1)
Mango(8)
现在当我点击任何标签(例如我点击香蕉)时,它会显示香蕉产品。
现在我的问题是通过单击它正在更改标签计数的标签。
All Products
Apple(0)
Banana(2)
Orange(0)
Mango(4)
我正在使用下面的代码
{% for tag in collection.all_tags %}
{% assign products_count = 0 %}
{% for product in collection.products %}
{% if product.tags contains tag %}
{% assign products_count = products_count | plus: 1 %}
{% endif %}
{% endfor %}
<a class="filter__link" href="/collections/{% if collection.handle != blank %}{{ collection.handle }}{% else %}all{% endif %}/{{ tag | handleize }}"{% if current_tags contains tag %} selected="selected" id="tag_active"{% endif %}>{{ tag }} ({{products_count }})</a>
{% endfor %}
提前致谢。
【问题讨论】:
-
您的第一个作业 {% assign products_count = 0 %} 应该在循环之外。然后,问题:您的收藏中是否有超过 50 种产品?
-
@AliceGirard,感谢您的回复,不,我只有 20 个产品
-
我在循环之外添加了 {% assign products_count = 0 %},这次我得到了错误的标签计数。
-
@AliceGirard,还有什么帮助吗?
-
是的,我的作业当然错了。每次都必须重置,你是对的。对此感到抱歉。关于错误你得到它是正常的。这是因为即使您遍历 collection.all_tags,您的二级循环也会根据您当前的视图进行处理,该视图不包含像 apple 或 Orange 这样的标签。