Есть ли в Битриксе данный функционал (товар в подарок). А то как бы они уже это обещают с 12 версии. На сайте https://www.1c-bitrix.ru/products/cms/new/#korb описан Выбор подарков, но где это настроить в админке?
Автоматизация - это наше все!.Tg: @avfridrik, e-mail: info@clvr.by
К сожалению пока не доступно, ждем последних правок в корзине, чтобы подключить, в 14,5 релизе хотим выпустить, который будет в конце марта начале апреля.
Я тоже так и делал, но как понимаю, 100% скидка будет применяться если добавить подарочный товар в корзину вручную. А нужно чтобы подарок добавлялся в корзину автоматом при покупке определенного товара.
Виталий Черепанов, спасибо за ответ! Я имел ввиду, каким образом создать условия, при котором товар сам, автоматически добавится в корзину пользователя.
Сижу, пытаюсь настроить и понимаю что походу нет функционала "товар сам, автоматически добавится в корзину пользователя". Для того чтобы подарок появился в корзине его нужно сначала выбрать в карточке товара, правильно я понимаю? Кто разобрался в этой теме, подскажите пожалуйста.
Там среди компонентов, где можно настроить и вывести подарки, числится sale.gift.basket. То есть непосредственно подарок к товарам в корзине. Он же вызывается в sale.basket.basket в шаблоне.
Но! Просто визуально его добавить, потыкать настройки компонента, жмакнуть "Сохранить" маловато будет. Маловато! Видимо компонент не одним пальцем деланный. А может и вовсе не пальцем.
Для работы компоненту нужны параметры "APPLIED_DISCOUNT_LIST" и "FULL_DISCOUNT_LIST". В шаблоне компонента sale.basket.basket эти параметры инициализируются из $arResult. А вот при вызове sale.gift.basket из визуального редактора таких переменных нет. Зато можно выбрать SHOW_FROM_SECTION и поиграть с огнём настройками раздела вывода.
В моём случае был кастомизированный красивый шаблон корзины, который трогать запретили. Компонент подарков был вызван под красивой корзиной. А в class.php компонента sale.gift.basket, благоразумно заранее перенесённого в свою папку разработчика, был усовершенствован метод onPrepareComponentParams. Усовершенствован вызовом
Код
CBitrixBasketComponent::getBasketItems()
А чтобы этот вызов сработал, в сааамом верху, где располагаются всякие инструкции вроде use, но пониже проверки B_PROLOG_INCLUDED, вызывается
Очень полезная конструкция, за что большой респект разработчикам, иначе пришлось бы метод getBasketItems() копировать себе вручную, а это два лишних нажатия на сочетания Ctrl+C и Ctrl+V и дублирование кода, а это фу.
Метод getBasketItems() вызывается без параметров и возвращает массив. В числе элементов которого есть заветные "APPLIED_DISCOUNT_LIST" и "FULL_DISCOUNT_LIST".
И ещё. Не кормите яо-гаев! В классе CSaleGiftBasketComponent, который является основой компонента sale.gift.basket, есть метод buildIblockDependedParameters(). О проблеме с методом я плакался здесь.