Автоматическое создание аккаунта после "купить в один клик" - call_requests

Делаю задачу по автоматическому созданию аккаунта, логину юзера и привязки нов. заказа к юзеру после “Купить в один клик”.

На эту тему есть модули:
https://marketplace.cs-cart.com/add-ons/customer-experience/cs-cart-auto-guest-registration.html
(купил этот модуль)
https://store.cart-power.ru/cs-cart-auto-account-creation-add-on.html (этот почему-то не нашел, когда искал… только на форуме его увидел).

Модуль от индусов работает нормально и довольно просто получилось прицепиться к хуку call_requests_do_call_request_post (который есть внутри модуля call_requests).
Проблема в том, что все эти вызовы по ajax и блок с личным кабинетом вверху не перегружается.
Т.е. юзер уже будет залогинен, но чтобы это увидеть ему нужно обновить страницу.
Решить эту проблему можно, если перегрузить страницу в JS
window.location.reload(false);
после клика на закрытие нотификации о регистрации юзера.
Сама это нотификация задается в PHP коде так
fn_set_notification('I',__('account_created'),__('you_are_successfully_register_with_us_your_password_is', array('[password]' => $password,'[email]' => $_SESSION['cart']['user_data']['email'])));

Вставить window.location.reload можно в js/tygh/core.js вот сюда
$(_.doc).on(‘click’, ‘.cm-notification-close’, function() {
methods.close($(this).parents(’.cm-notification-content:first’), false);
window.location.reload(false);
})
и это работает (но может что-то еще затронуть).

Вопрос - можно ли это сделать как-то более правильным образом?
Заранее благодарю за помощь

Сделать принудительный редирект из php при аякс запросе можно так

Tygh::$app['ajax']->assign('force_redirection', fn_url('categories.catalog'));
exit;

Большое спасибо! То, что нужно.
В итоге такой вариант поставил

            if (defined('AJAX_REQUEST')) {
                Tygh::$app['ajax']->assign('non_ajax_notifications', true);
                Tygh::$app['ajax']->assign('force_redirection', fn_url($_SERVER['HTTP_REFERER']));
            }
1 лайк