2011-09-26 10 views
3

私は、ビューから配列からデータを取り込むform_helperを拡張しています。CodeIgniter:ヘルパーからのビュー変数へのアクセス

例えば:私は、ヘルパーはビューから変数をロードする必要が考え

//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はこれについて書いています)
私は別の見方をするのがよいと思います。その場合はvarsを渡す必要はありません。

//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はこれについて書いています) 私はあなたが別の見方をするのがよいと思います。その場合、あなたはvarsを渡す必要はありません。

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

//View simple_input.php 
var_dump($record); 
echo "<input type='text'/>"; 
関連する問題