CodeIgniter Стандартный контроллер - PullRequest
0 голосов
/ 21 декабря 2010


Я пытаюсь создать контроллер по умолчанию независимо от того, к какому URL вы обращаетесь.
Значение, обычай 404.

class MY_Exceptions extends CI_Exceptions
{
var $ci;

public function __construct()
{
    parent::CI_Exceptions();
    $this->ci =& get_instance();
}

function show_404($page = '')
{
  //load view here

}

}

Я получаю, что get_instance не определено. (потому что он был определен после вызова библиотек)
Есть ли способ создать собственный контроллер 404 в codeignigter 1.7.2, не играя с кодом ядра системы.

Спасибо

Ответы [ 4 ]

2 голосов
/ 22 декабря 2010

Обновите до CodeIgniter 2.0 , поскольку стабильно и используйте:

$route['404_override'] = '';
1 голос
/ 21 декабря 2010

Если вы просто хотите настроить страницу 404, вы можете сделать это на странице /system/application/errors/error_404.php.Единственное предостережение в том, что вы не можете использовать объект $this, это строго HTML / CSS или встроенный PHP (нет доступа к вашим библиотекам, моделям и т. Д.).

Этостраница, которую CodeIgniter будет отображать по умолчанию, когда он не может найти контроллер для обработки запроса.

Не уверен, что именно поэтому вы пытаетесь это сделать или нет, но это был бы самый простой способ создатьпользовательская страница 404.

0 голосов
/ 04 января 2011

http://maestric.com/doc/php/codeigniter_404

Я использовал это решение, и оно работает для меня в CI 1.7

0 голосов
/ 21 декабря 2010

Это должно работать нормально.Убедитесь, что он находится в папке «application / library», и убедитесь, что в вашей конфигурации в качестве имени пользовательской библиотеки установлено «MY_».

Также, если вы делаете function __construct(){}, вы можете сделать parent::__construct().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...