carolineschnapp
7/25/2013 - 6:51 PM

Script that checks if a product has a Colo(u)r option and is available in more than 1 color.

Script that checks if a product has a Colo(u)r option and is available in more than 1 color.

{% assign has_color = false %}
{% assign option_index = 0 %}
{% for option in product.options %}
  {% capture downcased_option %}{{ option | downcase }}{% endcapture %}
  {% if downcased_option contains 'color' or downcased_option contains 'colour' %}
    {% assign option_index = forloop.index0 %}
    {% assign has_color = true %}
  {% endif %}
{% endfor %}
{% if has_color %}
  {% assign how_many_colors = 0 %}
  {% assign colors = '' %}
  {% for variant in product.variants %}
    {% assign color = variant.options[option_index] | append: ',' %}
    {% unless colors contains color %}
      {% assign colors = colors | append: color %}
      {% assign how_many_colors = how_many_colors | plus: 1 %}
    {% endunless %}
  {% endfor %}
  {% if how_many_colors > 1 %}
  <p>Available in more colors</p>
  {% endif %}
{% endif %}