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

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

сутки бьюсь.

6 ответов

49 просмотров

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

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

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

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

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

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

Ответ: Берем за основу код из этой ссылки 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:/...

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

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

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

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
how would you do any of that offline?
Thomas
7
Привет, сталкивался кто с такой ситуацией? У меня есть модальное окно Bootstrap, в нем кнопка закрытия: <button type="button" class="btn-close" data-bs-dismiss="modal" aria-...
Виталий
3
Карта сайта