Чтобы создать массив, в котором каждому купону будет соответствовать размер скидки в корзине, вам потребуется использовать функционал платформы 1C-Bitrix.
В первую очередь, у вас должен быть доступ к файлу, где происходит обработка корзины. Обычно это файл /bitrix/php_interface/init.php или альтернативный файл, который вы задали для обработки корзины.
В данном файле вам нужно объявить массив, где каждый элемент будет представлять собой купон и его значение - размер скидки. Например:
$coupons = array( 'COUPON1' => 10, 'COUPON2' => 15, 'COUPON3' => 20 );
Здесь мы создали массив $coupons, где купону 'COUPON1' соответствует скидка в размере 10%, купону 'COUPON2' - 15%, и купону 'COUPON3' - 20%.
Далее, вам нужно проверить, введен ли пользователем купон для применения скидки. Вы можете использовать глобальную переменную $USER для доступа к информации о текущем пользователе и его корзине.
global $USER; if ($USER->IsAuthorized() && isset($_POST['COUPON'])) { $coupon = $_POST['COUPON']; if (array_key_exists($coupon, $coupons)) { $discount = $coupons[$coupon]; // В этом месте вы можете применить скидку к корзине, используя значение $discount } }
Здесь мы проверяем, авторизован ли пользователь и есть ли в POST-запросе переменная COUPON (купон), введенная пользователем. Если купон найден в массиве $coupons, мы присваиваем переменной $discount значение скидки для этого купона. Теперь вы можете использовать значение $discount для применения скидки к корзине в нужном месте вашего кода.
Обратите внимание, что вы можете применять скидку к корзине используя различные методы в зависимости от вашей текущей конфигурации и требований проекта. Например, вы можете использовать функцию CSaleBasket::OrderBasket(), чтобы применить скидку к конкретной корзине или использовать события модуля sale для применения скидки в разных пунктах вашего кода.
Надеюсь, данная информация будет полезной вам при работе с массивом купон=размер скидки по корзине в 1C-Bitrix.