Изменение кол-ва товаров в корзине (tpl 2.8.0) — различия между версиями
Photoelf (обсуждение | вклад) (Новая страница: «== Задача == Добавить в '''Корзину товаров''' возможность изменения количества выбранных тов…») |
Williwaw (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 4 участников) | |||
Строка 4: | Строка 4: | ||
== Решение == | == Решение == | ||
+ | |||
+ | Сначала необходимо подключить jQuery для этого прописать в шаблоне: | ||
+ | %system includeQuickEditJs()% | ||
+ | %system includeEditInPlaceJs()% | ||
Для решения данной задачи нам понадобится js-скрипт [[:Файл:FrontEndBasket.zip|frontEndBasket.js]], который не входит в стандартную поставку demo-tpl шаблона. Его следует поместить в папкe '''/js/'''. | Для решения данной задачи нам понадобится js-скрипт [[:Файл:FrontEndBasket.zip|frontEndBasket.js]], который не входит в стандартную поставку demo-tpl шаблона. Его следует поместить в папкe '''/js/'''. | ||
− | Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта | + | Начнем с подключения необходимых скриптов в шаблон страницы. Необходимо подключить 3 скрипта между тегами <head>: |
<source lang="html4strict"> | <source lang="html4strict"> | ||
Строка 20: | Строка 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=" |
− | + | 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);" /> | |
</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();