В данный момент работаю над темой shopify и пытаюсь скрыть распроданные варианты товара. Тема престижна, имеет ли это значение или нет.
Я пытаюсь сделать это простым способом, так как у меня нет других доступных вариантов. Я пытаюсь добавить класс к существующему классу, если количество вариантов продукта равно 0.
Пример:
{% for variant in product.variants %}
{% if variant.inventory_quantity == 0 %}class{% endif %}{% endfor %}
Как выглядит мой код:
{%- for value in option.values -%}
<li class="HorizontalList__Item {% for variant in product.variants %}{% if variant.inventory_quantity < 1 %}{{ variant.inventory_quantity}}{% endif %}{% endfor %}">
<input id="option-{{ section.id }}-{{ forloop.parentloop.index0 }}-{{ forloop.index0 }}" class="SizeSwatch__Radio" type="radio" name="option-{{ forloop.parentloop.index0 }}" value="{{ value | escape }}" {% if value == option.selected_value %}checked="checked"{% endif %} data-option-position="{{ option.position }}">
<label for="option-{{ section.id }}-{{ forloop.parentloop.index0 }}-{{ forloop.index0 }}" class="SizeSwatch">{{ value }}</label>
</li>
{%- endfor -%}
Я использовал {{option.inventory_quantity}}, чтобы увидеть, что возвращается, и он возвращает 0 для всех. Затем я удалил {% if option.inventory_quantity <1%}, чтобы увидеть, что не так, и он вернул все количество вариантов продукта в моем случае 014673. </p>
Из-за значения {% - for в option.values -%} он проверяет все сразу и добавляет класс для всего списка, даже если количество вариантов в списке равно 0 или нет.
Есть ли способ добавить этот класс в список вне кода, если option.inventory_quantity == 0?
Или что-то вроде, если опция отключена, чтобы полностью скрыть список? Потому что я проверяю, доступен ли вариант здесь:
<select id="product-select-{{ product.id }}" name="id" title="Variant">
{%- for variant in product.variants -%}
<option {% if variant == selected_variant %}selected="selected"{% endif %} {% unless variant.available %}disabled="disabled"{% endunless %} value="{{ variant.id }}" data-sku="{{ variant.sku }}">{{ variant.title }} - {{ variant.price | money }}</option>
{%- endfor -%}
</select>
В моем случае вариант продукта 38 имеет количество 0. Ссылка на пример https://lizzetstore.ro/collections/paltoane/products/palton-asimetric-negru