2017-03-08 157 views
0

我是新來的笨,URI路由 - 笨

我想登錄頁面請求重定向到這條路線

$路線[「登錄」] =「TravelApi /登錄/」;

所以現在http://localhost.com/codeigniter/login請求應的路線,通過控制器/ TravelApi.php的TravelApi類的登錄()函數。

控制器

public function login(){ 

     $contents['login_url'] = $this->googleplus->loginURL(); 
     $this->load->view('frontend/login',$contents); 
} 

我的問題是:

當通過上述控制器請求路由,然後前進到前端/ login.php中 - 的login.php文件被加載,但沒有頁眉和頁腳。

但是,當我從配置中移除該路由/ routes.php文件

$route['login'] = 'TravelApi/login/'; 

然後請求不通過控制器和直接路徑前進到前端/ login.php中。並在這裏加載帶有頁眉和頁腳的login.php文件。

但我需要的是從控制器的路線。並使用頁眉頁腳加載視圖文件。

那麼,爲什麼它不會加載頁眉頁腳的時候通過我的控制器的功能路線?

編輯:

我發現在默認控制器功能的welcome.php

public function pages($alias=NULL) 
{ 
    $page='frontend/'.$alias; 
    $this->load->view('frontend/common/head'); // For Head Scripts 
    $this->load->view('frontend/common/header', $this->common_menu('TopMenu')); // For Header Content 
    $this->load->view('frontend/common/menus', $this->common_menu('MainMenu')); // For Menus 
    $this->load->view($page); 
    $this->load->view('frontend/common/footer'); // For Footer Content 
    $this->load->view('frontend/common/foot'); // For Footer Scripts 

} 

但仍不清楚爲什麼它不會加載頁眉頁腳的時候通過我的控制器的功能路線?

+0

是否將頁眉和頁腳文件分開? – shafiq

+0

是這個文件是views/frontend/common/header.php。我剛剛發現核心控制器中有一個函數加載頁眉和頁腳。我在編輯我的問題 –

回答

0

你有種回答您的編輯你自己的問題。頁眉和頁腳位於單獨的視圖文件中,您也需要加載這些文件。所以,這樣的事情應該工作:

public function login(){ 

    $contents['login_url'] = $this->googleplus->loginURL(); 
    $this->load->view('frontend/common/head'); // For Head Scripts 
    $this->load->view('frontend/common/header', $this->common_menu('TopMenu')); // For Header Content 
    $this->load->view('frontend/common/menus', $this->common_menu('MainMenu')); 

    $this->load->view('frontend/login',$contents); 

// For Menus 
    $page='frontend/'.$alias; 
    $this->load->view($page); 
    $this->load->view('frontend/common/footer'); // For Footer Content 
    $this->load->view('frontend/common/foot'); // For Footer Scripts 
} 

注:該生產線$this->load->view($page);看起來像它可能是其他頁面的主要內容和這裏的主要內容應該是$this->load->view('frontend/login',$contents);,如果是這樣的情況下刪除$頁面視圖負荷。

+0

頁腳視圖加載正常。但菜單不加載並顯示錯誤。因爲菜單是動態的並從數據庫獲取數據。但仍然存在的問題是,如果我從config/routes.php中刪除此路由,那麼它直接查看/ login.php並很好地加載頁眉頁腳。所以從哪裏來? –

+0

我剛纔注意到$ page變量是在welcome.php中定義的,但是它仍然留下了一個你必須定義的$ alias變量。如果你刪除路由,那麼它必須加載前端/ login.php – Pacio

+0

$別名應包含什麼? –