Примеры применения Liquid
Кнопка «под заказ»
Можно показывать закончившийся товар на сайте, но при этом оповестить покупателей о том, что его можно получить «под заказ». Это нужно реализовывать в шаблоне. Например, в одном случае должна выводиться одна кнопка «Купить», а в другом случае – «Под заказ»:
{% if product.available == true %} <input src="{{ 'buy.gif' | asset_url }}" type="image" /> {% else %} <input src="{{ 'wait.gif' | asset_url }}" type="image" /> {% endif %}
Такая логика работы поддерживается в стандартном шаблоне «Техника». В остальных шаблонах и в собственном дизайне можно её добавить, используя приведённый выше кусочек кода (естественно адаптировав его под себя).
Предложено в статье Какие товары показывать на сайте?
Проверка количества товара на складе при добавлении в корзину
Можно сделать проверку количества товара на складе при добавлении в корзину на уровне шаблона, для блокирования заказа, более имеющегося количества. Назначим свои переменные - "есть нехватка" и "предмет нехватки". Количество товара в модификации известно, количество его помещенного в корзину - тоже. В шаблоне Корзины (меню Сайт-Дизайн-Редактор) дополним код с кнопкой заказа.
В теме "Техника" блок кнопок оформления заказа выглядит так:
<div class="cart_reserve"> <a href="#" class="cart_update" id="cart_update" style="display:none"><img src="{{ 'recalc.gif' | asset_url }}" /></a> <input id="create_order" type="submit" value="" name="make_order" /> </div>
Заменим предыдущий кусок на этот:
{% assign nehvatka = false %} {% for item in cart.items %}{% if item.variant.quantity < item.quantity %} {% assign nehvatka = true %}{% assign vinovnik = item.title %} {% endif %}{% endfor %} {% if nehvatka %} <p style="margin: 20px;">Извините!<br />На складе недостаточно товара "<strong>{{ vinovnik }}</strong>". <br />Попробуйте уменьшить количество в Вашем заказе.</p> <div class="cart_reserve"> <a href="#" class="cart_update" id="cart_update" style="display:none"><img src="{{ 'recalc.gif' | asset_url }}" /></a> </div> {% else %} <div class="cart_reserve"> <a href="#" class="cart_update" id="cart_update" style="display:none"><img src="{{ 'recalc.gif' | asset_url }}" /></a> <input id="create_order" type="submit" value="" name="make_order" /> </div> {% endif %}
Теперь, если какого-то товара заказано больше чем есть на складе, умный код предупредит об этом и уберет кнопку чекаута.
Если тема шаблона - не "Техника", то изменяете блокиПредложено пльзователем Victor на форуме 21.02.2010 г.