Произвольное количество товаров в процессе покупки. Битрикс количество товара в каталоге
Произвольное количество товаров в процессе покупки
В Битрикс предусмотрена возможность отправлять в корзину определенное количество товаров только находясь на странице детального просмотра товара, а не в списке товаров- и при этом должен быть выбран шаблон properties для компонента каталога bitrix:catalog, однако мы можем это исправить вот так:
Применяем шаблон properties для компонента каталога bitrix:catalog, копируем его, называем к примеру properties1, в параметрах этого компонента в блоке Цены ставим галочку Разрешить указание количества товара:
Копируем папку /bitrix/components/bitrix/catalog.section и переименовываем ее например в /bitrix/components/bitrix/catalog.section.prop;
- В файле /bitrix/components/bitrix/catalog.section.prop/component.php после строки if($arParams["USE_PRODUCT_QUANTITY"]) (примерно 146 строка) ниже прописываем $QUANTITY = 0;
- Теперь создаем папку catalog.section.prop в шаблоне компонента /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/ и копируем туда папку .default из /bitrix/components/bitrix/catalog.section.prop/templates/;
- В файле /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/catalog.section.prop/.default/template.php после первой строки пишем код <?$arParams[USE_PRODUCT_QUANTITY]="true";?>, сохраняем;
- В файле /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/section.php заменяем "bitrix:catalog.section" на "bitrix:catalog.section.prop".
В принципе, это все можно сделать и в стандартном компоненте catalog.section не создавая компонент catalog.section.prop, но тогда при следующем обновлении Битрикс изменения в /bitrix/components/bitrix/catalog.section/component.php были бы стерты.
В файле /bitrix/components/bitrix/catalog.section.prop/component.php после строки if($arParams["USE_PRODUCT_QUANTITY"]) (примерно 146 строка) ниже прописываем $QUANTITY = 0;Теперь создаем папку catalog.section.prop в шаблоне компонента /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/ и копируем туда папку .default из /bitrix/components/bitrix/catalog.section.prop/templates/;
miditator.ru
Количество товара отправляемого в корзину Битрикс
Рассмотрим как можно реализовать отправку в корзину, интернет-магазина на битрикс, произвольное количество товара из детального описания элемента каталога. Само собой, можно просто оформить стандартный шаблон идущий в комплекте с битрикс, в котором данная возможность уже имеется. Однако, на сколько я помню, там нет возможности регулировать количество отправляемого товара с помощью кнопок "+" и "-". Давайте сделаем.
Добавляем поля для ввода количества.
Согласно документации битрикс, PRODUCT_QUANTITY_VARIABLE- Задает имя переменной, в которой будет передаваться количество товара. Соответственно, нам нужно создать input для ввода количества и при помощи события onclick создать две ссылки которые будут прибавлять и отнимать одну единицу в input. Все просто: получаем текущее значение PRODUCT_QUANTITY_VARIABLE и либо выполняем "++", либо "--":
Также добавим input типа submit который будет отправлять указанное количество в корзину ADD2BASKET. Данный кусок кода вставляем в то место детального просмотра элемента каталога, где планируется выводить все эти поля.
" value="1"><a href="javascript:void(0)"PRODUCT_QUANTITY_VARIABLE"]?>').value++;">+</a>
<a href="javascript:void(0)"PRODUCT_QUANTITY_VARIABLE"]?>').value > 1) BX('<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>').value--;">-</a>
<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="шт. В корзину">
Вот и все: Код привел безо всякого оформления. С помощью css, Вы всегда можете оформить данные поля под требования своего дизайна. Вот как я оформил на одном из своих проектов:
miditator.ru
Битрикс - количество товаров, отправляемых в корзину
В Битриксе предусмотрена возможность отправлять в корзину определенное количество товаров только находясь на странице детального просмотра товара (а не в списке товаров, как на рис.) и при этом должен быть выбран шаблон properties для компонента каталога bitrix:catalog
Для того, чтобы такая возможность появилась и в списке товаров, нужно сделать следующее.
1. Применяем шаблон properties для компонента каталога bitrix:catalog, копируем его, называем к примеру properties1, в параметрах этого компонента в блоке Цены ставим галочку Разрешить указание количества товара:;
2. Копируем папку /bitrix/components/bitrix/catalog.section и переименовываем ее например в /bitrix/components/bitrix/catalog.section.prop;
3. В файле /bitrix/components/bitrix/catalog.section.prop/component.php после строки if($arParams["USE_PRODUCT_QUANTITY"]) (примерно 146 строка) ниже прописываем $QUANTITY = 0;
4. Теперь создаем папку catalog.section.prop в шаблоне компонента /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/ и копируем туда папку .default из /bitrix/components/bitrix/catalog.section.prop/templates/;
5. В файле /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/catalog.section.prop/.default/template.php после первой строки пишем код <?$arParams[USE_PRODUCT_QUANTITY]="true";?>, сохраняем;
6. В файле /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/section.php заменяем "bitrix:catalog.section" на "bitrix:catalog.section.prop".
В принципе, это все можно сделать и в стандартном компоненте catalog.section не создавая компонент catalog.section.prop, но тогда при следующем обновлении Битрикс изменения в /bitrix/components/bitrix/catalog.section/component.php были бы стерты.skarzhinets.com