Я пытаюсь привести аргумент, согласно которому, если какой-либо вариант продукта на странице продукта распродан, кнопка «Добавить в корзину» и раскрывающийся список параметров не отображаются, а вместо этого отображается распроданный div. Если вариантов нет, то будет отображаться кнопка «Добавить в корзину», если товар есть в наличии, но я не могу заставить его работать.
Я чувствую, что я действительно близко. Я смог заставить его работать, если у продукта нет вариантов, тогда он показывает кнопку «Добавить на карту», если продукт продан из каких-либо вариантов, он показывает «Продано», но если все варианты есть в наличии, он покажет селектор опций и кнопка «Добавить в корзину» столько раз, сколько есть опций (например, если у продукта есть 2 опции, страница покажет:
Селектор опций
Кнопка "Добавить в корзину"
Селектор опций
Кнопка "Добавить в корзину")
{% when 'active' %}
<form id="product-form" method="post" action="/cart">
{% for option in product.options %}
{% if product.has_default_option %}
{{ product.option | hidden_option_input }}
<button class="button" id="product-addtocart" name="submit"
type="submit">Add to cart</button>
{% endif %}
{% if option.sold_out %}
{{ product.option | hidden_option_input }}
<div class="sold">
<h4><span>Sold</span></h4>
</div>
{% endif %}
{% if option.sold_out == false %}
<div id="product-options" class="options">
{{ product.options | options_select }}
</div><br>
<button class="button" id="product-addtocart" name="submit"
type="submit">Add to cart</button>
{% endif %}
{% endfor %}
{% if product.on_sale %}<div>On Sale</div>{% endif %}
</form>