Вы можете сделать это в KO2 довольно просто с помощью hooks . Если вы посмотрите на события , вы найдете system.404
, который вам нужно заменить, используя что-то вроде:
<?php defined('SYSPATH') or die('No direct script access.');
// Replace the default kohana 404
Event::replace('system.404', array('Kohana', 'show_404'),
array('hook_404', 'show'));
class hook_404 {
public function show()
{
// first param is URI of page, second param is template to use
Kohana::show_404(FALSE, 'custom_404');
}
}
Сохраните это в каталоге hooks в папке вашего приложения (или в модуле). Не забудьте включить хуки в вашей конфигурации:
$config['enable_hooks'] = TRUE;
И добавьте свой пользовательский вид 404: views/custom_404.php
.
Примечание: они не будут отображаться, если у вас $config['display_errors']
установлено в FALSE
в вашем config.php
(что, вероятно, должно быть, если вы правы в IN_PRODUCTION?). Для этого нужно что-то вывести и умереть, например. замените Kohana::show_404
на следующее:
require Kohana::find_file('views', 'custom_404');
die();