【发布时间】:2011-05-01 03:17:26
【问题描述】:
您好,我在 Codeigniter 中遇到了钩子问题。我为 'post_controller' 编写了钩子,它调用控制器函数并加载模板(布局视图模板)。它适用于所有正常案例。但现在我需要制作一个自定义错误页面。所以我要覆盖 show_404() 函数。在这个函数中我使用 get_instance();获取 CI 对象的函数。使用 CI 对象我正在调用一个函数来设置布局参数。现在我面临的问题是,当我尝试在我的自定义异常类的 show_404() 函数中加载视图时,视图是由于 post_controller 钩子没有被执行,所以没有被加载。我尝试了很多东西,但都失败了。 谁能给我建议任何方式来做到这一点。或任何其他方式来呈现自定义 404 页面。
function show_404($page = ''){ // error page logic
header("HTTP/1.1 404 Not Found");
$heading = "404 Page Not Found";
$message = "The page you requested was not found ";
$CI =& get_instance();
$metadata[AppContants::META_TITLE] = '404 Page Not Found | Door and Window';
$metadata[AppContants::META_KEYWORDS] = '';
$metadata[AppContants::META_DESCRIPTION] = '';
$CI->setMeta($metadata);
$params['LAYOUT_MAINVIEW']='404_page';
$CI->renderView($params);// this is the function in my controller which sets the parameter for my template.Or it would also be very helpful if i can load the view directly as show below.
$CI->load->view('404_page'); // Loading view directly.
}
【问题讨论】:
标签: php codeigniter error-handling