i'm trying override show_404
method ci_exceptions
, my_exceptions
never loaded.
my_exceptions located @ application/core/
it's code
<?php class my_exceptions extends ci_exceptions { function show_404(){ header("http/1.1 404 not found"); $ci =& get_instance(); $ci->load->view('header.php'); $ci->load->view('err/custom404.php'); $ci->load->view('footer.php'); } }
when call show_404()
2 fatal error
fatal error: class 'my_exceptions' not found in c:\workspace\ictp-tv-main\system\core\common.php on line 196
fatal error: class 'my_exceptions' not found in c:\workspace\ictp-tv-main\system\core\common.php on line 196
i have other extended classes work well, same prefix my_
edit after @tpojka suggestion code is
class my_exceptions extends ci_exceptions { public function __construct() { parent::__construct(); $this->ci =& get_instance(); } public function show_404($page = '', $log_error = true){ header("http/1.1 404 not found"); $this->ci->load->view('header.php'); $this->ci->load->view('err/custom404.php'); $this->ci->load->view('footer.php'); } }
and 404 page blank.
edit
solution
we need echo error, not simple load view.
public function show_404($page = '', $log_error = true){ header("http/1.1 404 not found"); echo $this->ci->load->view('header.php',array('page_title'=>'page not found'),true); echo $this->ci->load->view('err/custom404.php',null,true); echo $this->ci->load->view('footer.php',null,true); exit(4); }
thanks @tpojka open mind.
try way
<? class my_exceptions extends ci_exceptions { public function __construct() { parent::__construct(); } public function show_404($page = '', $log_error = true) { if (is_cli()) { $heading = 'not found'; $message = 'the controller/method pair requested not found.'; } else { $heading = '404 page not found time'; $message = 'the page requested not found.'; } // default log this, allow dev skip if ($log_error) { log_message('error', $heading.': '.$page); } echo $this->show_error($heading, $message, 'custom404', 404);//custom404 in apppath.'views/errors/html/custom404.php' exit(4); // exit_unknown_file } }
i edited code above. took research , ended this. copied show_404()
method ci_exceptions class , saw changes done. can set message, header , call template well. can play way. suggest place $this->load->view('header')
, $this->load->view('footer')
in custom404.php
file itself. in file custom404.php
file echo $heading
, $message
.
Comments
Post a Comment