Есть интернет-магазин, несколько категорий разнотипных товаров.
Но есть один товар, который конфигурируется под пользователя, под его размеры.
Реализовано через отдельный шаблон catalog.element:
Выводится товар, его торговые предложения (цвет, материал) и несколько инпутов для заполнения конкретным пользователем.
Задача:
1. сохранить эти данные перед переходом в корзину и заказ,
2. после оплаты заказа необходимо сохранить эти данные в элемент другого инфоблока (что-то вроде отдельного списка заказов для отдельного менеджера)
3. отправить почтовое уведомление по отдельному почтовому событию.
Пункты 2 и 3 понятны.
Пункт 1 вызвал проблемы. Логичным показалось записать данные инпутов в куки или в сессию, а дальше на событии OnSaleOrderPaid повесить обработчик в init.php, который из заказа проверит, тот ли это товар с конфигуратором и запустит по цепочке события 2 и 3.
Но в init.php не обрабатывается массив $_SESSION, как я понимаю. А при создании обработчика OnSaleOrderPaid в нем почему-то никак не читаются куки: ни стандартно через $_COOKIE, ни через \Bitrix\Main\Application::getInstance()->getContext()->getRequest()->getCookie("NAME")
Писать эти данные в свойства заказа не хотелось бы, потому что такой товар всего один. Да и все равно встает вопрос с заполнением их из какого-то промежуточного хранилища.
Прошу помощи — как с заказом передать пользовательские данные, введенные в шаблоне карточки товара?
Но есть один товар, который конфигурируется под пользователя, под его размеры.
Реализовано через отдельный шаблон catalog.element:
Выводится товар, его торговые предложения (цвет, материал) и несколько инпутов для заполнения конкретным пользователем.
Задача:
1. сохранить эти данные перед переходом в корзину и заказ,
2. после оплаты заказа необходимо сохранить эти данные в элемент другого инфоблока (что-то вроде отдельного списка заказов для отдельного менеджера)
3. отправить почтовое уведомление по отдельному почтовому событию.
Пункты 2 и 3 понятны.
Пункт 1 вызвал проблемы. Логичным показалось записать данные инпутов в куки или в сессию, а дальше на событии OnSaleOrderPaid повесить обработчик в init.php, который из заказа проверит, тот ли это товар с конфигуратором и запустит по цепочке события 2 и 3.
Но в init.php не обрабатывается массив $_SESSION, как я понимаю. А при создании обработчика OnSaleOrderPaid в нем почему-то никак не читаются куки: ни стандартно через $_COOKIE, ни через \Bitrix\Main\Application::getInstance()->getContext()->getRequest()->getCookie("NAME")
Писать эти данные в свойства заказа не хотелось бы, потому что такой товар всего один. Да и все равно встает вопрос с заполнением их из какого-то промежуточного хранилища.
Прошу помощи — как с заказом передать пользовательские данные, введенные в шаблоне карточки товара?