我正在扩展form_helper,它将在视图中填充数组中的数据。
E.g:
//Controller - user_controller.php
User_Controller extends CI_Controller{
function edit(){
$data['record'] = array('username'=>'robert','email'=>'simplerobert@google.com');
$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'/>";
}
我认为帮助者应该从视图中加载变量。真的不明白它是如何工作的。如何从帮助程序访问视图变量?
答案 0 :(得分: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'/>";
}
答案 1 :(得分:0)
helper是函数,因此您需要将var传递给函数才能使用它。
(tttony写了这篇文章。)
我想你最好另辟蹊径。
在这种情况下,您不需要传递变量。
//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= $this->load->view('simple_input'); ?>
//View simple_input.php
var_dump($record);
echo "<input type='text'/>";
答案 2 :(得分:0)
helper是函数,因此您需要将var传递给函数才能使用它。 (tttony写了这篇文章。) 我想你最好另辟蹊径。在这种情况下,您不需要传递变量。
//View - edit.php
<?= $record['username']; ?> >> 'robert'
<?= $this->load->view('simple_input'); ?>
//View simple_input.php
var_dump($record);
echo "<input type='text'/>";