2013-10-28 33 views
0

目錄結構的文件是包括我的CI設置在笨

application 
system 
    public_html 

我家的控制器渲染視圖(/家/指數)現在我想索引視圖中呈現_mainMenu.php其保存外回家,所以我在/家庭/索引視圖<?php include '../_mainMenu.php' ?>

嘗試,但這個錯誤occures

一個PHP錯誤遇到嚴重性:警告

消息:包括():失敗開口 '../_mainMenu.php' 列入 (include_path中= ':/ usr/lib中/ PHP:在/ usr /本地/ LIB/PHP')

文件名:家用/ index.php文件

如果我把裏面mainMenu.php/home目錄,並調用<?php include '_mainMenu.php' ?>一切正常,但我想這個文件是對所有頁面進行訪問。

回答

2

你不包括笨的觀點,你通過加載它們:

$this->load->view('name'); 

你應該在docs讀了,如果你要使用它。

1

如果文件是一個視圖文件,並且您想要在所有頁面上訪問它,那麼您可以創建一個視圖文件,然後使用下面的語法將它們加載到視圖中。

$this->view('your_file'); 

請注意,CI,我們在所有視圖中可用的視圖對象,所以我們不使用負載對象,我們在控制器上使用。

也請閱讀thisthis

但是如果你的文件不是一個視圖文件,並且具有應該在所有網頁上運行其他一些常見的代碼,那麼這將是巨大的,創建一個父控制器,並把所有的該父控制器的構造函數中的代碼。

例如,您想要從數據庫中獲取菜單項,還要檢查點擊的菜單項等等,那麼在父控制器中執行它並將其從父控制器擴展到所有控制器將非常好。檢查下面的框架代碼:

class FrontController extends CI_Controller { 

    public function __contstruct() 
    { 
     parent::__construct(); //Please note to call the CI_Controller constructor as always. 

     //place all your common code here 
    } 

} //End of FrontController 

現在讓我們考慮另一個控制器一樣的HomeController:

class HomeController extends FrontController { 


    public function index() { 

     //the index function 
    } 
} 

現在我家裏控制器,你可以清楚地看到的HomeController從FrontController延長。現在,所有放置在FrontController構造函數中的通用代碼都將可用於從FrontController擴展的所有控制器中。

我希望這會有所幫助。

謝謝