Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Корзина товара. Как сделать зависимость цены от количества?

00 голосов
3
1.Вопрос:
Подскажите пожалуйста как решается след ситуация на Битриксе 3 версии.
Есть товар с ценой зависящей от количества.
я добавляю его в корзину с помощью CSaleBasket::Add(...)
При переходе в корзину я могу изменить его количество, но цена будет ведь та, которую я передал первоначально, а мне надо ее считать от количества.
Тоесть товар "Книга",
цена за 1 шт -100руб за ед.
цена за 10шт 80руб за ед.
Я добавляю 15 штук, а потом меняю в корзине на 1, в итоге я заказываю 1 книгу за 80руб.

2.Вопрос: Есть много товара и у каждого свои цены, но как я увидел - все цены глобальные. Можно ли определенные типы цен привязать только к определенным информационным блокам в редакторском интерфейсе? (на внешнем сайте и так все ясно, а вот вываливать десятки типов цен -не удобно редактировать)

3. Цитата из хелпа на Модуль продаж->Информация для разработчиков->Добавление в корзину: "модуля catalog существует функция Add2Basket"
Где можно найти на нее описание?

Спасибо заранее
спросил 25 Март, 14 от Kania (5,180 баллов)

3 Ответы

00 голосов
Добрый день, Кирилл

1. Трудно здесь дать какие-то исчерпывающие рекомендации... Разве что в самом скрипте корзины перед апдейтом проверять "руками" цену строи корзины и если она та, что "со скидкой", то проверять обновляемое QUANTITY для строки корзины...
Возможно, я мог бы сказать что-то более конкретное, если бы Вы описали, каким образом в Вашем случае организованы различные цены для товара и как происходит добавление в корзину.

Цитата
2.Вопрос: Есть много товара и у каждого свои цены, но как я увидел - все цены глобальные. Можно ли определенные типы цен привязать только к определенным информационным блокам в редакторском интерфейсе? (на внешнем сайте и так все ясно, а вот вываливать десятки типов цен -не удобно редактировать)

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

3. Функция Add2Basket
Код
function Add2Basket($PRICE_ID, $QUANTITY = 1, $arRewriteFields=array())

создает корректный массив полей для CSaleBasket::Add() и передает этот массив этой функции.
Пример использования:
Add2Basket($_REQUEST["price_id"]);
ответил 25 Сен, 14 от Damani (1,180 баллов)
00 голосов
Спасибо за ответ!

По поводу корзины - с помощью CALLBACK_FUNC все решил.

Цитата
Нет, типы цен - действительно, глобальные. Не очень хорошо понимаю, чем вызвана необходимость для такого большого числа типов цен?

По поводу кучи цен, они нужны мне не для разграничения цен между пользователями, а для товаров, которые продаются десятками и сотнями и имеют разные характеристики.
Например так зависят цены разных товаров:
1товар: от 100штук - одна цена, от 1000штук - другая.
2товар: от литра, от 2литров, от 5литров
3товар: от 3упаковок, от 5 упаковок и т.д.

И у ряда товаров доходит до 15 шрадации по цене
ответил 29 Янв, 15 от Kania (5,180 баллов)
00 голосов
Сории:
И у ряда товаров доходит до 15 градаций по цене.
ответил 12 Май, 15 от Kania (5,180 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
3 ответов
0 голосов
3 ответов
спросил 01 Сен, 13 от Ortegian (160 баллов)
0 голосов
5 ответов