2015-08-15 128 views
0

我在Codeigniter上關注這個基本的tutorial關於靜態頁面的服務。我跟所有的步驟,我在這一個:Codeigniter視圖與索引

class Pages extends CI_Controller { 

    public function view($page = 'home') 
    { 
     if (! file_exists(APPPATH.'/views/pages/'.$page.'.php')) { 
      // Whoops, we don't have a page for that! 
      show_404(); 
     } 

     $data['title'] = ucfirst($page); // Capitalize the first letter 

     $this->load->view('templates/header', $data); 
     $this->load->view('pages/'.$page, $data); 
     $this->load->view('templates/footer', $data); 
    } 
} 

我複製並粘貼它看到我發的看法,但它給了我一個404 Page Not Found。我看了其他教程,他們似乎使用索引函數而不是視圖函數。

比如我改變了上面下面,簡單地更名viewindex

class Pages extends CI_Controller { 

    public function index($page = 'home') 
    { 
     if (!file_exists(APPPATH.'/views/pages/'.$page.'.php')) { 
      // Whoops, we don't have a page for that! 
      show_404(); 
     } 

     $data['title'] = ucfirst($page); // Capitalize the first letter 

     $this->load->view('templates/header', $data); 
     $this->load->view('pages/'.$page, $data); 
     $this->load->view('templates/footer', $data); 
    } 
} 

現在正常工作。爲什麼教程代碼無法正常工作?

+0

你設置了:$ route ['default_controller'] ='pages/view';? – sinisake

+0

不是。這是如何影響它的? –

+0

你可以學習路由http://www.codeigniter.com/user_guide/general/routing.html –

回答

2

您必須設置路由,以使框架能夠選擇調用您定義爲控制器的對象的方法。這就是框架的工作原理。

索引是一個默認路由,所以它不必定義。但是別的什麼都行。

+0

那裏是那個??????? –

+1

@RobertRocha在您的application/config目錄中找到routes.php。已經有了受歡迎的路線,因此您應該瞭解如何使用它。如果沒有檢查手冊。 – NemanjaSRB