UMIhelp
Разработка сайта на UMI.CMS => Шаблоны TPL => Тема начата: kibal4iw от 03 Января 2012, 16:08:46
-
Привет. Нужна помощь, подобного вопроса не нашел
Задача следующая, есть объекта каталога, нужно, чтобы пользователь мог изменять количество добавляемых товаров в корзину. Т.е. стандартно стоит одна единица товара, и рядом есть поле ввода, куда пользователь должен ввести значение, допустим 20 и нажать кнопку добавить в корзину, и все данные в корзине обновляются.
-
для этого, макросу, который добавляет товар в корзину, можно передовать параметр amount, который и будет управлять кол-вом товара в корзине. Если у вас добавление товара в корзину происходит с перезагрузкой корзины, то вам надо сделать чтобы добавление происходило при нажатии на input type="submit" и был input с name="amount" в котором пользователь и будет задавать кол-во ( а по-умолчанию будет стоять 1), если ajax работа с корзиной, то там немного другое надо делать опишу если надо.
Подводные камни:
- надо проверять чтобы значение введенное пользователем было корректно
- надо учитывать что данный товар уже лежит в корзине (там проблема такого рода, например, у вас в корзине уже лежит 4 шт данного товара, вы нажимаете добавить 2 шт данного товара и в итоге у вас в корзине не 6 шт, а 2 шт данного товара)
-
Очень сильно хотелось бы что бы вы подсказали как взаимодействовать с корзиной с помощью AJAX.
Заранее спасибо
-
посмотри тему Оформление заказа в один шаг (http://umihelp.ru/forum/index.php/topic,1022.0.html)там похожие вещи обсуждались, а по поводу корзины и ajax посмотри материалы по курсу "tpl расширенный" (http://education.umi-cms.ru/information/tpl_advanced/) я там рассказывал как подключать ajax к работе с корзиной
-
Полностью со всем разобрался. Спасибо огромное. Раньше небыло время отвечать!
-
Разобрался, сделал добавление товаров в корзину с выбором количества.
А вот с добавление товаров без перезагрузки - не пойму.
Сейчас я делаю так
<form id="basket_%id%" action="/emarket/basket/put/element/%id%/" method="get">
<div class="number">
<span class="plus">+</span>
<input name="amount" class="intext" type="text" value="1" size="5"/>
<span class="minus">-</span>
</div>
<input type="submit" onclick="document.getElementById('basket_%id%').submit()" class="cart_ok" value="ok" />
</form>
Каким должен быть js файл и что не так в том как я добавляю в корзину?
Большое спасибо за помощь.
-
вы сейчас добавляете через перезагрузку страницы и отправку данных через форму.
Вы хотите сделать так, чтобы товар добавлялся в корзину без перезагрузки страницы?
Возможно, у вас уже товары добавляются в корзину и вы просто хотите дополнить механизм возможностью добавлять сразу несколько штук одного товара? Поясните подробнее, что у вас сейчас и что вам надо.
-
Сейчас я могу добавить несколько товаров в корзину.
Происходит это с перезагрузкой страницы.
Хотелось бы все это работало так же, только страница не перезагружалась.
-
тогда для начала вам стоит попробовать подключить покупку товара без перезагрузки, об этом писалось выше
посмотри тему Оформление заказа в один шаг (http://umihelp.ru/forum/index.php/topic,1022.0.html)там похожие вещи обсуждались, а по поводу корзины и ajax посмотри материалы по курсу "tpl расширенный" (http://education.umi-cms.ru/information/tpl_advanced/) я там рассказывал как подключать ajax к работе с корзиной
После этого, можно будет уже обсуждать что надо поменять в этом механизме, чтобы количество тоже передовалось