2011-09-26 89 views
3

我正在擴展form_helper,它將從視圖中的數組中填充數據。CodeIgniter:從助手訪問視圖變量

E.g:

//Controller - user_controller.php 
User_Controller extends CI_Controller{ 
    function edit(){ 
     $data['record'] = array('username'=>'robert','email'=>'[email protected]'); 
     $this->load->view('edit',$data); 
    } 
} 


//View - edit.php 
<?= $record['username']; ?> >> 'robert' 
<?= simple_input('halo'); ?> 

//Helper - MY_form_helper.php 
function simple_input($name){ 
    var_dump($record); >> Undefined variable: record 
    return "<input type='text'/>"; 
} 

我想幫助應該從視圖中加載了變量。沒有真正理解它是如何工作的。我如何從助手訪問視圖變量?

回答

2

嘗試傳遞變量的函數:

//... 

//View - edit.php 
<?= $record['username']; ?> >> 'robert' 
<?= simple_input('halo', $record); ?> 


//Helper - MY_form_helper.php 
function simple_input($name, $record){ 
    var_dump($record); 
    return "<input type='text'/>"; 
} 
0

助手是功能,所以你需要使用var傳遞到函數中使用它。 (tttony寫了這個。)
我認爲你最好再提出一個看法。 在這種情況下,你不需要通過增值稅。

//View - edit.php 
<?= $record['username']; ?> >> 'robert' 
<?= $this->load->view('simple_input'); ?> 

//View simple_input.php 
var_dump($record); 
echo "<input type='text'/>"; 
0

助手是功能,所以你需要使用var傳遞到函數中使用它。 (tttony寫了這個。) 我認爲你最好再提出一個看法。在這種情況下,你不需要通過增值稅。

//View - edit.php 
<?= $record['username']; ?> >> 'robert' 
<?= $this->load->view('simple_input'); ?> 

//View simple_input.php 
var_dump($record); 
echo "<input type='text'/>";