2011-09-26 2 views
3

Je suis en train d'étendre form_helper qui remplira les données d'un tableau en vue.CodeIgniter: Accès aux variables d'affichage à partir de l'assistant

par exemple:

//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'/>"; 
} 

Je pensais aide devrait charger les variables de la vue. Je n'ai pas vraiment compris comment cela fonctionne. Comment puis-je accéder aux variables d'affichage à partir de helper?

Répondre

2

Essayez de passer la variable dans la fonction:

//... 

//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

aide est fonction, vous devez passer le var dans la fonction de l'utiliser. (tttony a écrit à ce sujet.)
Je pense que vous feriez mieux de faire une autre vue. dans ce cas vous n'avez pas besoin de passer les vars.

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

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

aide est fonction, vous devez passer le var dans la fonction de l'utiliser. (tttony a écrit à ce sujet.) Je pense que vous feriez mieux de faire un autre point de vue. Dans ce cas, vous n'avez pas besoin de passer les vars.

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

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