2012-08-02 51 views
0

我是一個新手,並試圖更多地瞭解CI。昨天我試圖實現MY_Controller.php。我閱讀用戶指南中的說明但我無法得到它的優點是什麼?還有一件事我不明白這個想法使用它。 我寫的應用程序/核心/ MY_Controller.phpCodegniter能告訴我關於MY_Controller.php和目錄結構嗎?

class MY_Controller extends CI_Controller { 

    protected $data = array(); 

    function __construct() { 
    parent::__construct(); 
    } 

    function render_page($view) { 
    //do this to don't repeat in all controllers... 
    $this->load->view('templates/header', $this->data); 
    //menu_data must contain the structure of the menu... 
    //you can populate it from database or helper 

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

} 

這我家的控制器應用程序/控制器/ home.php

class Home extends MY_Controller { 

     public function view($page = 'home') 
     { 
     $this->load->helper('text'); 
      $this->data['records']= $this->services_model->getAll(); 

      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->render_page('pages/'.$page) 
} 
} 

和我的看法是,在我的應用程序/視圖/頁/家.PHP。 的config/routes.php文件:

$route['default_controller'] = 'home/view'; 
$route['(:any)'] = 'home/view/$1'; 

現在我得到404分error.My的問題是:

1)爲什麼我得到404錯誤? 2)如果我添加關於頁面,我應該添加一個新的控制器或使用家庭控制器?

回答

1

MY_Controller控制器投入應用/芯夾 然後使用

MY_Controller文件夾路徑應用/核心/ MY_Controller.php

**家庭控制器**文件夾路徑應用/控制器/ Home.php

0

類家庭擴展MY_Controller

類家庭擴展是CI_Controller

0
  1. 你得到一個404的原因是,你沒有一個指數函數。 CodeIgniter默認在調用控制器時加載索引函數。

  2. 這並不重要,但我建議你打開一個新的控制器。

+0

在使用my_Controller.php之前,我使用了頁面控制器。我再次沒有使用索引作爲函數,但我得到了意見?你確定? – ytsejam 2012-08-02 06:35:46

0

它現在正在工作。我通過一個乾淨的目錄結構來修復。但我無法在源代碼中看到模板/頁眉和頁腳。

相關問題