在客户主页上,他们希望“所有产品”在列表底部加载更多按钮。
有四个类别,每个类别都有不同的颜色。我希望按日期列出的顺序提取所有产品,并根据类别将类应用于产品。
目前我有
{% assign collection = collections.all %}
{% for product in collection.products %}
{% if collection.handle == 'clothing' %}
<div class="theme-red overview-item">
{% elsif collection.handle == 'pictures' %}
<div class="theme-green overview-item">
{% elsif collection.handle == 'posters' %}
<div class="theme-blue overview-item">
{% elsif collection.handle == 'other' %}
<div class="theme-beige overview-item">
{% else %}
<div class="theme-none overview-item">
{% endif %}
...
</div>
{% endfor %}
目前这是主题 - 无,这是因为我正在调用collections.all?
如何在不管集合的情况下获取所有显示的产品,然后根据上述if / else语句应用某些内容。
任何想法,我都试着看看product.collections,collection.all_types是否没有幸福。
答案 0 :(得分:0)
您获得theme-none
的原因是因为您的if语句会检查该集合的处理方式是&#39;服装&#39;图片&#39;等但是你已经将集合设置为collections.all
,因此它永远不会匹配任何条件。
您要做的是检查当前产品是否在其中一个集合中。例如:
{% assign collection = collections.all %}
{% for product in collection.products %}
{% for c in product.collections %}
{% if c.handle == 'clothing' %}
{% assign theme = "red" %}
{% elsif c.handle == 'pictures' %}
{% assign theme = "green" %}
{% elsif c.handle == 'posters' %}
{% assign theme = "blue" %}
{% elsif c.handle == 'other' %}
{% assign theme = "beige" %}
{% else %}
{% assign theme = "none" %}
{% endif %}
{% endfor %}
<div class="theme-{{ theme }} overview-item">
...
</div>
{% endfor %}