【发布时间】:2020-01-07 19:10:29
【问题描述】:
我正在尝试根据项目变体在项目旁边显示颜色框。然而,它在我的数组中给了我奇怪的结果。是的,我知道液体中没有真正的阵列。我在下面有两个选择。第一个不起作用。它给了我诸如“背景颜色:['''''''”之类的东西。连同所有正确的。
所以第二个选项我只是硬编码所有颜色并检查。只要颜色有序,这就会起作用......但如果颜色不有序,它将显示重复。
刚接触液体,但这看起来超级难看,可能意味着我做错了。
<div class="color-box-wrapper">
{% assign values = '' %}
{% for variant in product.variants %}
{% assign value = variant.option2%}
{% unless values contains value %}
{% assign values = values | append: ',' | append: value %}
{% assign values = values | split: ',' %}
{% for color in values %}
{% if color.size > 0%}
<div class="product-color-box" style="background-color:{{color}}"></div>
{% endif %}
{% endfor %}
{% endunless %}
{% endfor %}
</div>
这种方式有点工作,但看起来很老套。
<div class="color-box-wrapper">
{% assign realColors = 'yellow, blue, white, burgandy, black, red, green, purple, beige, light_brown' | split: ", "%}
{% assign values = '' %}
{% for variant in product.variants %}
{% assign value = variant.option2 | downcase%}
{% unless values contains value %}
{% assign values = values | append: ',' | append: value %}
{% assign values = values | split: ',' %}
{% for color in values %}
{% if realColors contains color %}
<div class="product-color-box" style="background-color:{{color}}"></div>
{% endif %}
{% endfor %}
{% endunless %}
{% endfor %}
</div>
【问题讨论】: