Задать вопрос
@run182

Как добавить дополнительные услуги в корзину вместе с товаром?

Есть виды услуг:
- установка стиральной машины
- повесить телевизор на кранштейн
- доп. гарантия (1-3 года)

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

Есть ли функционал у Битрикса, чтобы реализовать это?
  • Вопрос задан
  • 537 просмотров
Подписаться 1 Сложный 3 комментария
Решения вопроса 1
vitvayti
@vitvayti
Битрикс-программист
Вот тут мной было сделано подобное. Реализовано добавлением отдельных товаров.

Добавляйте основной товар в корзину, при добавлении дополнительных (услуг) указывайте в характеристике к какому товару добавлена эта услуга. При удалении товара из корзину удаляйте и дополнительные товары тоже.

Bitrix\Main\Loader::includeModule("catalog");

$fields = [
    'PRODUCT_ID' => 98, // ID товара, обязательно
    'QUANTITY' => 1, // количество, обязательно
    'PROPS' => [
        ['NAME' => 'Test prop', 'CODE' => 'TEST_PROP', 'VALUE' => 'test value'],
    ],

];
$r = Bitrix\Catalog\Product\Basket::addProduct($fields);
if (!$r->isSuccess()) {
    var_dump($r->getErrorMessages());
}


В примере, который я указывал, сейчас не видно удаление доп. услуг при удалении товаров, но это они уже сами потом переделали корзину на стандартную и не сохранили этот функционал...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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