setController
, библиотеки module
. Вот так:
phpfox::getLib('module')->setController('error.404')
Допустим мы получаем какие либо данные, и в случае, если нужная запись не найдена, выводим 404 ошибку:
if ($editID = $this->request()->getInt('id'))
{
if (!($row = phpfox::getService('ad')->getAd($editID)))
{
// В случае ненайденной записи выводим 404 ошибку
return phpfox::getLib('module')->setController('error.404');
}
// Тут код при успешно найденной записи
}
URL страницы останется именно таким, каким на него перешли. А если надо отправить пользователя по адресу: "site/error.404/", делаем так:
phpfox::getLib('url')->send('error.404');
На мой взгляд, первый вариант лучше.