Изменение кол-ва товаров в корзине (tpl 2.8.0) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 2 промежуточные версии 2 участников)
Строка 11: Строка 11:
 
Для решения данной задачи нам понадобится js-скрипт [[:Файл:FrontEndBasket.zip|frontEndBasket.js]], который не входит в стандартную поставку demo-tpl шаблона. Его следует поместить в папкe '''/js/'''.
 
Для решения данной задачи нам понадобится js-скрипт [[:Файл:FrontEndBasket.zip|frontEndBasket.js]], который не входит в стандартную поставку demo-tpl шаблона. Его следует поместить в папкe '''/js/'''.
  
Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта, между тегами '''<head></head>''' строками:
+
Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта между тегами <head>:
  
 
<source lang="html4strict">
 
<source lang="html4strict">
Строка 24: Строка 24:
  
 
<source lang="html4strict">
 
<source lang="html4strict">
<input type="text" value="%amount%" onkeyup="var e = jQuery(this).next('input'), old = e.val();
+
<input type="text" value="%amount%" onkeyup="
e.val(this.value);
+
var e = jQuery(this).next('input'), old = e.val();  
frontEndBasket.modify(%id%, this.value, old);
+
e.val(this.value);
javascript:window.location.reload();" />
+
frontEndBasket.modify(%id%, this.value, old);
<input type="hidden" value="%amount%" />
+
window.setTimeout(function() { javascript:window.location.reload(); }, 1000);" />
 
</source>
 
</source>
  
 
Теперь, перейдя в корзину('''emarket/cart''') пользователь будет видеть поля для ввода необходимого кол-ва товаров.
 
Теперь, перейдя в корзину('''emarket/cart''') пользователь будет видеть поля для ввода необходимого кол-ва товаров.
 
При отсутствии необходимости перезагрузки страницы корзины, после изменения количества, необходимо удалить строку '''javascript:window.location.reload();'''
 
При отсутствии необходимости перезагрузки страницы корзины, после изменения количества, необходимо удалить строку '''javascript:window.location.reload();'''
 +
  
  
 
  [[category:Вопросы и уроки разработки сайтов на UMI.CMS]]
 
  [[category:Вопросы и уроки разработки сайтов на UMI.CMS]]

Текущая версия на 10:27, 16 июля 2013

Задача

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

Решение

Сначала необходимо подключить jQuery для этого прописать в шаблоне:

%system includeQuickEditJs()%
%system includeEditInPlaceJs()%

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

Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта между тегами <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);
window.setTimeout(function() { javascript:window.location.reload(); }, 1000);" />

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