2010-12-21 5 views
0


액세스 할 수있는 URL에 관계없이 기본 컨트롤러를 만들려고합니다.
의미, 정의 (404)CodeIgniter 기본 컨트롤러

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을 얻고있다

는 정의되지 않습니다. (라이브러리가 호출 된 후에 정의 되었기 때문에)
시스템 코어 코드로 재생하지 않고 codeignigter 1.7.2에서 사용자 정의 404 컨트롤러를 만드는 방법이 있습니까?

감사합니다.

+0

에 나를 위해 작동하지 않습니다 말이되지 않습니다. 그것이 정의되었거나/후에/괜찮을 것입니다. –

답변

0

괜찮습니다. 'application/libraries'폴더에 있는지 확인하고 구성에 'MY_'가 사용자 정의 라이브러리 이름으로 설정되어 있는지 확인하십시오.

또한 function __construct(){}을 수행하는 경우 parent::__construct()을 수행 할 수 있습니다.

+0

당신이 설명했던대로 작동하지 않습니다 ... 404 용 사용자 정의 컨트롤러 (!)를 만드는 다른 방법은 없습니까? 감사합니다 – fatnjazzy

1

404 페이지 만 사용자 정의하려는 경우 /system/application/errors/error_404.php 페이지에서 수정할 수 있습니다. 한 가지주의해야 할 점은 $this 개체를 사용할 수 없다는 것입니다. HTML/CSS 또는 내장 PHP (라이브러리, 모델 등에 액세스 할 수 없음)입니다.

이것은 요청을 처리 할 컨트롤러를 찾을 수 없을 때 CodeIgniter가 기본적으로 표시 할 페이지입니다.

그렇게하려는 이유가 확실하지 않지만 맞춤 404 페이지를 만드는 가장 간단한 방법 일 것입니다.

+0

+1 이것이 OP가 원하는 것을 가정 할 때, 왜 바퀴를 다시 만들어야합니까? – Ross

+0

감사합니다. HTML이 아닌 컨트롤러가 필요합니다. – fatnjazzy

+0

'redirect ('controller/function')'을'errors/error_404.php' 페이지에 넣을 수 있습니다. –

관련 문제