Изменение кол-ва товаров в корзине (tpl 2.8.0)

Материал из Umicms
Версия от 11:14, 20 апреля 2010; Photoelf (обсуждение | вклад) (Новая страница: «== Задача == Добавить в '''Корзину товаров''' возможность изменения количества выбранных тов…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Задача

Добавить в Корзину товаров возможность изменения количества выбранных товаров.

Решение

Для решения данной задачи нам понадобится js-скрипт frontEndBasket.js, который не входит в стандартную поставку demo-tpl шаблона. Его следует поместить в папкe /js/.

Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта, между тегами <head></head> строками:

<script type="text/javascript" src="/js/frontEndBasket.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/client/basket.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/client/utilities.js" charset="utf-8"></script>

Это необходимо вписать в шаблон, выбранный Основным в админ-панели, например, inner.tpl

В шаблоне вывода корзины(например, tpls/emarket/default.tpl) в блоке вывода элементов, находящихся в корзине(блок order_item) в нужное вам место(например, в ячейку таблицы, вместо %amount%) необходимо вставить поле для изменения:

<input type="text" value="%amount%" onkeyup="var e = jQuery(this).next('input'), old = e.val();
 e.val(this.value);
 frontEndBasket.modify(%id%, this.value, old);
 javascript:window.location.reload();" />
<input type="hidden" value="%amount%" />

Теперь, перейдя в корзину(emarket/cart) пользователь будет видеть поля для ввода необходимого кол-ва товаров. При отсутствии необходимости перезагрузки страницы корзины, после изменения количества, необходимо удалить строку javascript:window.location.reload();