Примеры применения Liquid

Материал из Insales Wiki
Версия от 19:50, 22 февраля 2010; Vb (обсуждение | вклад) (Кнопка «под заказ»)

Перейти к: навигация, поиск

Кнопка «под заказ»

Можно показывать закончившийся товар на сайте, но при этом оповестить покупателей о том, что его можно получить «под заказ». Это нужно реализовывать в шаблоне. Например, в одном случае должна выводиться одна кнопка «Купить», а в другом случае – «Под заказ»:

     {% 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 г.