我正在使用CodeIgniter 2,并且我已经使用自定义404工作,在MY_Exceptions
中使用此功能将数据传递到视图,因为我的网站的菜单已生成动态地site_helper::site_menu()
:
public function show_404($page = '', $log_error = TRUE) {
$CI =& get_instance();
$CI->load->helper('site');
$this->h['meta'] = site_menu();
$CI->load->view('templates/header', $this->h);
$CI->load->view('errors/html/my_error');
$CI->load->view('templates/footer');
echo $CI->output->get_output();
exit;
}
这绝对是出色的!
我认为我可以使用相同的想法覆盖show_error()
,作为第一次迭代,我尝试了以下方法(使用this answer作为灵感):
function show_error($heading, $message, $template = 'error_general', $status_code = 500) {
$CI =& get_instance();
$CI->load->view('templates/footer');
echo $CI->output->get_output();
exit;
}
...但这会产生错误:
Fatal error: Class 'CI_Controller' not found in /path/to/system/core/CodeIgniter.php on line 366
我所发现的所有相关问题我尝试过的所有内容都无法解决这个问题......任何提示(包括移动动态菜单的建议,如果这可能有帮助)都将是最受欢迎!