2017-05-28 184 views
2

我在我的家裏控制器重定向所有的404錯誤頁面自定義404頁CodeIgniter HMVC

我設置$路線[「404_override」] =「家/ NOTFOUND」創建自定義的404 NOTFOUND方法;

,它的主域名後,很適合沒有找到URL的權利(例如www.domain.com/uroetiuosyerit)

,但如果我在一個類名,然後鍵入一個無效的URL(如www.domain.com /服務/ yersityijftnyutyum)它顯示的默認笨404含量

即時期運用codigniter 3 HMVC建模擴展https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

+0

所以家是一個控制器,並沒有找到一個功能?家在哪裏?你需要把它從hmvc結構中提取出來,以提供一個「全部捕獲」 – Vickel

+0

,但是我想用我的模板模塊來顯示一個不錯的404頁面,所以我如何從一個普通的codeigniter控制器調用一個「模塊」? – toiglicher

回答

2

成立了路線像這樣的例子:

$route['404_override'] = 'errormanager/my404'; 

然後控制器errormanager與像一個函數:

public function my404(){ 

    $data['menu']=$this->Sitemanager->get_menu(); 

    $this->load->view('header',$data); 
    $this->load->view('custom404'); 
    $this->load->view('footer');  
} 

視圖custom404.php這樣的:

<div class="my404"> 404 this page does not exist</div> 

當您使用HMVC的辦法,確保了控制器errormanager和視圖可以從任何地方到達,這意味着您需要在Codeigniter控制器+ vie中找到它W文件夾(應用程序\視圖和應用程序\控制器),而不是在擴展模塊HMVC結構

+0

但我想用我的頁眉和頁腳模板模塊 – toiglicher

+0

從控制器錯誤管理器加載它,只要確保在主應用程序\ views文件夾中有header.php和footer.php。看到我的編輯 – Vickel

+0

抱歉忘了按我的編輯保存按鈕 – Vickel