208 похожих чатов

Ребята, как сделать автоматическое добавление подарка про промокоду? Я уже третьи

сутки бьюсь.

6 ответов

89 просмотров

Правила корзины. Действие "предоставить подарок", переходишь во вкладку купоны. Заполняешь число купонов. Если нужно ставишь период. Тип купонов один раз если нужно и максимальное число использования один. И сохраняешь.

Андрей- Автор вопроса
アレキサンダー
Правила корзины. Действие "предоставить подарок", ...

Когда вводишь промокод, не должно быть выбора подарка. Подарок должен автоматически добавиться без права выбора пользователем.

Андрей
Когда вводишь промокод, не должно быть выбора пода...

То есть ты хочешь чтоб он сразу подставлялся в товары?

Андрей- Автор вопроса
Андрей- Автор вопроса

Ответ: Берем за основу код из этой ссылки https://dev.1c-bitrix.ru/support/forum/forum6/topic120421/ Но работать этот код не будет. Нужно вносить коррективы. 1. Убедись, что юзаются эти классы: use Bitrix\Main, Bitrix\Sale, Bitrix\Sale\Compatible\DiscountCompatibility, Bitrix\Main\EventManager, Bitrix\Sale\Discount\Gift; 2. Событие OnSaleBasketItemEntitySaved меняем на событие onManagerCouponAdd , которое срабатывает при добавлении купона. Название модуля оставляем "sale". Название функции тоже можно оставить. 3. Убираем строку $basketItemEntity = $event->getParameter("ENTITY"); она не нужна тут. 4. Если переменная $giftCollections на дебаге будет нулевой, то в метод $giftManager->getCollectionsByBasket($basket) нужно добавить второе условие: объект правила работы с корзиной. Первое условие $basket у нас уже есть. Через запятую добавляем метод \CSaleDiscount::GetByID(АЙДИШНИК ПРАВИЛА). Я думаю, можно поиграться с методами класса CSaleDiscount под твои нужны, данный класс как раз работает с правилами работы с корзиной. 5. В конце кода, где задаются поля для айтема подарка, увидишь элемент "LID" => $LID. Переменную $LID автор кода забыл определить - это код сайта (например: "s1"). Поскольку сайтов может быть много, я бы определил ее так: $LID = Main\Context::getCurrent()->getSite(); Как я пришел к такому решению, лучше тебе не знать😄 Но надеюсь, пригодится

Андрей
Ответ: Берем за основу код из этой ссылки https:/...

Запишите это решение к тому что работать не будет.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта