Редиректы
В объекте "$mv" доступны методы для перезагрузки и перенаправлений между страницами сайта. Все они используют функцию "header()" и заканчиваются вызовом функции "exit()".
Перезагрузка текущей страницы reload()
Данный метод перезагружает текущую страницу и позволяет добавить дополнительные параметры к URL. Исходные GET параметры убираются. Если параметры в метод не передаются то загружается текущая страница без старых GET параметров.
//Если форма заполнена без ошибок перезагружаем текущую страницу //и добавляем GET параметр if(!$form -> hasErrors()) { ... $mv -> reload("?message-sent=1"); }
Переход на другую страницу redirect()
Для перехода на другую страницу (редирект) используется данный метод. Если он вызывается без параметров то происходит переход к корень сайта (на главную страницу). Можно добавлять как части ссылок так и GET параметры.
//Если пользователь не авторизован переходим на страницу логина if(!$mv -> clients -> checkAuthorization()) $mv -> redirect("login/"); //Если регистрационная форма заполнена правильно осуществляем переход //при этом если нам возможно нужно перенаправить пользователя //сразу к оформлению заказа if(!$form -> hasErrors()) { ... $path = isset($_GET['from-order']) ? "order/" : "register/complete/"; $mv -> redirect($path); }
Ошибка 404
Если запрошенная страница не может быть определена в конфигурациях URL (подробнее в разделе Общие принципы шаблонов), то в mV показывается собственная страница ошибки 404. Подключаемый файл находится в папке "views" и изначально имеет название "view-404.php". При переходе на страницу 404 дополнительно выводится http заголовок "HTTP/1.1 404 Not Found".
Метод display404() также может принимать параметр. Если данный параметр положителен то перехода не произойдет.
//Если товар не найден то показать 404 ошибку $content = $mv -> products -> findRecord(array("url" => "very-interesting-book", "active" => 1)); $mv -> display404($content); //Если товар извлечен (переменная $content - объект, true) то продолжаем // отображение страницы
Предыдущий раздел
Дата и время