2010-12-21 127 views
0


我正在创建默认控制器,无论您访问哪个URL。
意义,定制404CodeIgniter默认控制器

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

“因为它被定义库被调用后,”不没有道理。如果它被定义/之后/它应该没问题。 – 2010-12-21 16:12:24

回答

0

这应该很好。确保它位于“应用程序/库”文件夹中,并确保您的配置将“MY_”设置为自定义库名称。

此外,如果你在做function __construct(){},你可以做parent::__construct()

+0

我做了你的解释,这是行不通的... 任何其他方式来创建自定义CONTROLLER(!)404?谢谢 – fatnjazzy 2010-12-22 07:54:49

1

如果您只是想自定义404页面,您可以在/system/application/errors/error_404.php页面下执行此操作。与此有关的一个警告是,你不能使用$this对象,它是严格的HTML/CSS或内置的PHP(无法访问你的库,模型等)。

这是CodeIgniter默认显示的页面,当它找不到处理请求的控制器时。

不知道这是你为什么试图做或不做,但这将是创建自定义404页面的最简单方法。

+0

+1假设这是OP想要什么,为什么要重新发明轮子 – Ross 2010-12-21 22:08:30