2013-07-22 2 views
0

Я продаю футболки с несколькими вариантами.SHOPIFY: Как я могу проверить, нет ли в продаже варианта?

Я хотел бы проверить, есть ли ANY этих вариантов «Нет в наличии». Тогда, если ANY вариантов «Нет на складе» отобразите сообщение. (То же самое сообщение, не имеет значения, какой вариант в наличии)

Я знаю, что это работает, чтобы проверить запас варианта на ПЕРВОГО:

{% if product.variants.first.inventory_quantity <= 0 %} 

<p style="color:#ff0000">This item is currently out of stock. 

Order today, and your item will be shipped in 4-6 weeks.</p> 

{% case product.variants.first.inventory_quantity %} 

{% when '0' %} 

{% else %} 

{% endcase %} 

{% endif %} 

Но это только проверяет первый вариант. Любая помощь здесь будет принята с благодарностью. Я открыт для обработки этого в javascript или жидкости, но довольно новичок в обоих.

ответ

1

Вот один верный способ ... и вы можете перевернуть это в любые крендели, которые вы желаете.

{% for variant in product.variants %} 
    {% if variant.inventory_quantity == 0 %} 
    <h1>Damn Dawg, this variant be out of stock</h1> 
    {% else %} 
    ... whatever.... 
    {% endif %} 
{% endfor %} 

Похоже, что если вы хотите, чтобы это сообщение было напечатано один раз, оно применимо к продукту, а не к самим вариантам. В этом случае просто установите переменную в true, если ничего нет в наличии, и вы можете, таким образом, распечатать свое сообщение только один раз. Предел: предложение 2 является бессмысленным.

например:

{% assign out_of_stock = false %} 
{% for variant in product.variants %} 
    {% if variant.inventory_quantity == 0 %} 
    {% assign out_of_stock = true %} 
    {% endif %} 
{% endfor %} 

{% if out_of_stock == true %} 
    <h1>Damn Dog, we're out of beers</h1> 
{% endif %} 
+0

Как отобразить только одно сообщение, даже если более чем один вариант есть в наличии? – liori

+0

Спасибо @davidlazar, что почти идеально, но он повторяет сообщение для каждого варианта, который отсутствует на складе. Я просто хочу вставить сообщение один раз. Я попытался использовать это: {% для варианта в product.variants limit: 1%} Но тогда сообщение не отображается. Любые рекомендации? –

+0

@liori отредактируйте первую строку вышеуказанного кода следующим образом: {% для варианта в пределе product.variants: 2%}, похоже, для меня отображается только одно сообщение. Спасибо за помощь! –

Смежные вопросы