2010-08-24 106 views
1

當我們加載視圖時,我們可以將一些動態數據傳遞給它。codeigniter中的視圖的默認數據

我想實現的是當視圖沒有收到數據時,它使用從模型(數據庫)加載的一些默認數據。

問題是我真的不想把這些語句(加載默認數據)在視圖中。

什麼是最簡單的解決方案,沒有使用任何擴展如模塊化擴展/分離?

非常感謝大家。

回答

2

我出來的東西,希望這有助於。

class Test extends Controller 
{ 
    private $data = array(); 

    public function __construct() 
    { 
     parent::__constuct(); 

     // Load the default data 
     $this->load->model('test_model'); 

     $this->data = $this->test_model->get_default_data(); 
    } 

    public function test() 
    { 
     $this->load->model('test_model'); 
     $data = $this->test_model->get_another_data(); 

     if (! empty($data)) { 
      $this->data = $data; 
     } 

     $this->load->view('test_view', $this->data); 
    } 
} 
3

你是正確的,你真的不想從視圖調用模型(這是控制器的用途)。

檢查控制器中的數據;如果您查找的數據不存在,請撥打模型的「默認數據」(當您在控制器中)時。然後將數據傳遞給View。