Одно из писем имеет ссылку, ведущую на страницу редактирования профиля пользователя. Т.е. site.ru/users/id/edit/theme.
При переходе по ссылке, если пользователь не авторизован — конечно же появляется страница 404. Она говорит, что "Страница не найдена". Для людей, которые связаны мало-мальски с сайтостроением — логика железобетонная: закрытый раздел — нет доступа — 404.
Но обычных пользователей это вводит в заблуждение и об этом мне на сайте часто говорят. Сами представьте, проходите по ссылке в свой профиль на одноклассниках (если не авторизованы), а вам в лоб сообщение — "Страницы нет". Обычно они в таком случае редиректят на страницу входа на сайт.
Решил поправить дело таким образом. Ссылка site.ru/users/1/edit/theme — если пользователь не авторизован, его должно перенаправить на страницу авторизации — после авторизации обратно на site.ru/users/id/edit/theme.
Предполагаю, что прописать это можно в файле systems/controllers/core.php. Не ошибся. Нашел кусок кода отвечающий за ошибку 404
/*** Показывает сообщение об ошибке 404 и завершает работу*/ public static function error404(){ cmsEventsManager::hook('error_404', self::getInstance()->uri); cmsTemplate::getInstance()->renderAsset('errors/notfound'); }
При этом предполагаю, что нужно будет еще править и login.php
Заранее спасибо за участие.