Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Наблюдал у многих магазинов, в т.ч. на simpla наличие возможности выбора количество товара не только в подробностях товара, но и на главной...



Как такое реализовать?

Ссылка на сообщение
Поделиться на другие сайты
  • 8 месяцев спустя...

Вот как реализовал на проекте заказчика:



Реализация до боли простая, денег за это не возьму.

1. Добавить к товару (main.tpl, products.tpl и везде, где необходимо):

<input type="button" class="add1" value="" onClick="javascript:this.form.amount.value--;">
<input type="text" style="width:20px" name="amount" value="1">шт.
<input type="button" class="add2" value="" onClick="javascript:this.form.amount.value++;">
<input type="submit" class="addcart" value="Добавить в корзину" data-result-text="Товар добавлен"/>


Примечание: Стандартные формы "цена" и "добавить в корзину" при этом нужно удалить.

2. В файле design/название_шаблона/js/ajax_cart.js

Вместо

data: {variant: variant},


Вставить

data: {variant: $(this).find('input[name=variant]:checked').val(),amount: $(this).find('input[name="amount"]').val()},


Примечание: Работает только на Simpla 2.1.5. Для старших версий "data: {variant:" другой (на форуме уже писали).

3. Добавить стили для:

class="addcart"
class="add1"
class="add2"
Или обозвать по своему, но всё равно стилизовать их под себя.

Примечание: Чтобы стилизовать инпут с количеством товара, к нему необходимо добавить свой class="".

Всё. Вроде ничего не забыл. Если не работает, значит проблема в форме "вариантов" Вашего шаблона. На дефолтном всё стабильно.

Единственный минус этой реализации в том, что покупатель сможет установить количество товаров в "0" или отрицательное значение. В этом ничего плохого нет, в корзину улетит только один товар, просто выглядит не красиво.

UP.

Но есть и приятный момент. Если определённого товара осталось в количестве 3 единиц, а покупатель добавляет 4, то в корзину улетит только 3.

UP 2.

Исправил "минус", который описал выше.


Что бы покупатель не смог установить "0" или любое отрицательное значение, нужно сделать следующее:

Вместо кода указанного в 1-ом пункте вставляем этот:
<input type=button value="" class="add1" onClick="javascript:this.form.amount.value= this.form.amount.value<=1 ? 1 :parseInt(this.form.amount.value)-1 ;"><input type="text" style="width:20px" name="amount" value="1">шт.<input type=button value="" class="add2" onClick="javascript:this.form.amount.value= this.form.amount.value>=10 ? 10 :parseInt(this.form.amount.value)+1 ;"><input type="submit" class="addcart" value="Добавить в корзину" data-result-text="Товар добавлен"/>

Примечание: При необходимости, вместо чисел "this.form.amount.value<=10 ? 10" нужно установить свои.
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...
  • 2 года спустя...

Добрый день. У меня что-то не работает. Добавляется один.

 

Можете помочь?

Изменено пользователем kionlife
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...