Рассмотрим как можно реализовать отправку в корзину, интернет-магазина на битрикс, произвольное количество товара из детального описания элемента каталога. Само собой, можно просто оформить стандартный шаблон идущий в комплекте с битрикс, в котором данная возможность уже имеется. Однако, на сколько я помню, там нет возможности регулировать количество отправляемого товара с помощью кнопок "+" и "-". Давайте сделаем.
Согласно документации битрикс, PRODUCT_QUANTITY_VARIABLE- Задает имя переменной, в которой будет передаваться количество товара. Соответственно, нам нужно создать input для ввода количества и при помощи события onclick создать две ссылки которые будут прибавлять и отнимать одну единицу в input. Все просто: получаем текущее значение PRODUCT_QUANTITY_VARIABLE и либо выполняем "++", либо "--":
Также добавим input типа submit который будет отправлять указанное количество в корзину ADD2BASKET. Данный кусок кода вставляем в то место детального просмотра элемента каталога, где планируется выводить все эти поля.
Вот и все: Код привел безо всякого оформления. С помощью css, Вы всегда можете оформить данные поля под требования своего дизайна. Вот как я оформил на одном из своих проектов:
![]()
Татьяна
|
Добрый день
Подскажите, Как мне вывести в корзине СУММУ СКИДКИ НА ТОВАР Не могу понять если такой переменной нет, где лучше написать расчет СКИДКИ Мой email: letaa@yandex.ru Спасибо |
![]()
Аня Иванович
|
Добрый день!
Возник вопрос о количестве товара, каким образом можно ограничить количество товара доступное в одни руки? |
![]()
Михаил Базаров
|
||||
<input type="number" max="5"/> - больше пяти не получится Если у товаров разные ограничения, то можно создать свойство ATT_MAX_IN_HAND
|
||||
![]()
vovkka
|
Добрый день Михаил! Делаю магазин по вашим урокам "Создание простого магазина". Уроки очень крутые!
Возник вопрос, сделал по вашему уроку изменение количества товара ajax, но изменяется только кратно 1. Как сделать к примеру изменение по 0.1 кг ? Я задал в товаре кратность 0.1. Далее вбиваю 0.1 в карточку товара, но все равно улетает в корзину 1. Смотрел новый шаблон bitrix, уж очень сложно.... там в value стоит специальная переменная, которая не понять от куда прилетает. Не могли бы вы направить на правильный путь ? Я использую ваши старые шаблоны catalog. Большое спасибо! |
![]()
vovkka
|
ответ на вопрос выше, может кому пригодиться:
![]() идете в файл add2basket и там $QUANTITY = intval($_POST['QUANTITY'] ![]() Я сделал по своему : $QUANTITY = $_POST['QUANTITY']; if (is_numeric($QUANTITY)) { Add2BasketByProductID( $PRODUCT_ID, $QUANTITY ); } else { echo "Задано не правильное количество товара"; } Собственно записываем значение в переменную и проверяем является ли она числом. Если да то вызываем функцию и передаем туда параметры. Если нет, на нет и суда нет. ![]() |
![]()
Михаил Базаров
|
||||
через $arElement['CATALOG_MEASURE'] и превратив input в type="number" и добавив step="<?= $arElement['CATALOG_MEASURE']?>" Пример:
Ну а дальше можно и скриптец навесить, на этот input - если нужно проверять кратность и доступность товара |
||||
На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал
Совсем скоро выйдет видеокурс по разработке доски объявлений с мобильным приложением. Подписывайтесь и будьте в курсе: