我希望我的error_404.php显示在我的网站模板视图中.我扩展了CI_Exceptions类(MY_Exceptions)并重写了show_404()和show_error()方法.现在我想要做的是能够在那里加载视图文件.最理想的是,我想在MY_Controller类中加载_header()和_footer()方法.这有可能吗?
class MY_Exceptions extends CI_Exceptions {
public function __construct(){
parent::__construct();
}
function show_404($page = '')
{
$heading = "404 Page Not Found";
$message = "The page you requested was not found for some strange reason...";
log_message('error', '404 Page Not Found --> '.$page);
$CI =& get_instance();
$CI->load->view('template/header');
echo $this->show_error($heading, $message, 'error_404', 404);
$CI->load->view('template/footer');
exit;
}
function show_error($message, $status_code = 500)
{
$error =& load_class('Exceptions');
echo $error->show_error('An Error Was Encountered', $message, 'error_general', $status_code);
exit;
}
}
Run Code Online (Sandbox Code Playgroud)
但我不能这样做.有什么建议?
shi*_*hin -1
在您的控制器中使用它。
$data['main'] = 'my404';
$this->load->vars($data);
$this->load->view('maintemplate');
Run Code Online (Sandbox Code Playgroud)
并在主模板视图中。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
what ever here.
</head>
<body>
<div id="wrapper">
<div id="header">
<?php $this->load->view('admin_header');?>
</div>
<div id="main">
<?php $this->load->view($main);?>
</div>
<div id="footer">
<?php $this->load->view('admin_footer');?>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
并创建您的 my404 视图。