Произвольное количество товаров в процессе покупки. Битрикс количество товара в каталоге


Произвольное количество товаров в процессе покупки

В Битрикс предусмотрена возможность отправлять в корзину определенное количество товаров только находясь на странице детального просмотра товара, а не в списке товаров- и при этом должен быть выбран шаблон properties для компонента каталога bitrix:catalog, однако мы можем это исправить вот так:

Применяем шаблон properties для компонента каталога bitrix:catalog, копируем его, называем к примеру properties1, в параметрах этого компонента в блоке Цены ставим галочку Разрешить указание количества товара:

Копируем папку /bitrix/components/bitrix/catalog.section и переименовываем ее например в /bitrix/components/bitrix/catalog.section.prop;

  1. В файле /bitrix/components/bitrix/catalog.section.prop/component.php после строки if($arParams["USE_PRODUCT_QUANTITY"]) (примерно 146 строка) ниже прописываем $QUANTITY = 0;
  2. Теперь создаем папку catalog.section.prop в шаблоне компонента /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/ и копируем туда папку .default из /bitrix/components/bitrix/catalog.section.prop/templates/;
  3. В файле /bitrix/templates/ваш_шаблон/components/bitrix/catalog/properties1/bitrix/catalog.section.prop/.default/template.php после первой строки пишем код <?$arParams[USE_PRODUCT_QUANTITY]="true";?>, сохраняем;
  4. В файле /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 &gt; 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


Prostoy-Site | Все права защищены © 2018 | Карта сайта