2010-04-07 52 views
0

我有一個索引功能的控制器如下:笨 - 從一個數組變量的訪問傳遞到一個頁面

function index() 
{ 
    $this->load->model('products_model'); 
    $data['product'] = $this->products_model->get(3); // 3 = product id 
    $data['product_no'] = 3; 
    $data['main_content'] = 'product_view'; 
    //print_r($data['products']); 
    $this->load->view('includes/template', $data); 
} 

這是products_model文件get函數

function get($id) 
{ 
    $results = $this->db->get_where('products', array('id' => $id))->result(); 
    //get the first item 
    $result = $results[0]; 
    return $result; 
} 

產品表中包含名稱,價格等字段請告訴我如何從$ data ['product']輸入變量傳入視圖後如何輸出?儘管print_r(已註釋掉)顯示數據 - 我沒有將它傳遞到視圖中,但我已經嘗試了很多東西,但沒有任何工作。我想這可能是因爲視圖調用模板文件,該文件引用main_content變量:

模板文件的內容:

<?php $this->load->view('includes/header'); ?> 

<?php $this->load->view($main_content); ?> 

<?php $this->load->view('includes/footer'); ?> 

,但我嘗試創建一個平面視圖文件,仍然無法訪問的變量。

非常感謝,

回答

1

您的$ data數組被「翻錄」成視圖內的單個變量。

print $product; 
print $product_no; 
print $main_content; 
+0

是的,但它們也被列入$ this-> load - > _ ci_cached_vars中,用於沒有自己的數據數組的子視圖中。 – 2010-04-07 12:27:58

+0

感謝您的幫助。我已經刪除了該模板文件 - 現在該視圖是一個平面的HTML文件。我也將控制器索引函數更改爲 函數索引() {this-> load-> model('products_model'); $ data ['product'] = $ this-> products_model-> get(3); // 3 =產品ID $ this-> load-> view('test',$ data); } 但是,我無法訪問視圖中的數組變量。正確的代碼是什麼?我已經嘗試echo $ this - > $ price,echo $ data ['price'] - 我確定這是簡單的,我做錯了什麼? – Matt 2010-04-07 14:53:54

0

處理頁眉頁腳&這種方式吸並得到的難以管理的很快。

嘗試使用我的Template library,您的數據將傳遞到product_view沒有問題。

+0

謝謝,我會看看這個菲爾。 – Matt 2010-04-07 13:27:47

相關問題