Здравствуйте, при нажатии на кнопку "Оформить заказ" ничего не происходит, кроме прелоудера. Заказы нигде не пояаляются, редиректа не происходит. Модуль из оформления заказа из коробки, не кастомный.
Добрый день! У меня похожая проблема, страница успешного оформления заказа не открывается. Удалось выяснить что это происходит из-за обработчика добавленного в init.php который работает на php 7.4 и не работает на php 8.1. Буду благодарен за помощь в адаптации кода.
Вам лучше включить debug=true в .settings.php и в консоли браузера посмотреть на аякс ответ модуля оформления заказа. Там, скорее всего, будет описание ошибки с указанием файла и строки. А по коду - ну, вижу разве, что устаревший split() на explode надо бы заменить, но, возможно и еще что-то. Гораздо удобнее искать баги с дебаггером)).
написал: в консоли браузера посмотреть на аякс ответ
debug=true включен, но ошибки визуально не возникает, крутится колесо загрузки и пропадает. В консоле вижу Status Code: 500 Internal Server Error но не понял как конкретно увидеть из-за чего возникла.
Нашел в консоле что ошибка в файле core.ajax.php возникает на строке 1454 код там такой: xhr.send(fd); Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Но как понять какой код в init.php вызывает данную ошибку?
я смотрю в фаерфоксе в консоли на XHR запрос типа POST https://ваш_сайт/bitrix/components/bitrix/sale.order.ajax/ajax.php , разворачиваю его, жму вкладку Ответ, там то, что компонент отдал по аякс запросу - если в коде php ошибка, то там дебажная информация по этой ошибке, файл, строка, стек вызовов, их хватает обычно, чтобы найти и исправить. У вас не так?
написал: я смотрю в фаерфоксе в консоли на XHR запрос типа POST https://ваш_сайт/bitrix/components/bitrix/sale.order.ajax/ajax.php , разворачиваю его, жму вкладку Ответ, там то, что компонент отдал по аякс запросу - если в коде php ошибка, то там дебажная информация по этой ошибке, файл, строка, стек вызовов, их хватает обычно, чтобы найти и исправить. У вас не так?
Я неправильно смотрел, спасибо что подсказали. Как понял ошибка в строке 209. 209 строка эта часть кода: $arFields["DELIVERY_PRICE"]=$order->getDeliveryPrice()+' р.';