2011-09-26 69 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'/>";