首页 > 解决方案 > 如何使用 CodeIgniter 中的模板解析器将带有键的数组传递到视图中

问题描述

伙计们,我想$data用一个键传递我的变量,比如 $data['student']使用 CI 的模板解析器库。如果我用钥匙传递它,$data['student']它就不起作用,

现在的问题是如果 在代码$data['any_key'] = 'Any value';之前定义$data(在控制器下面给出)它被它替换。所以这意味着我必须$data = array()在第一行定义,然后我可以定义任何键,即data['any_value']='xyz'不会被替换。

这是我的控制器

$result = $this->test->view_all('student',['STUD_Gender'=>'Male']);

$data['key'] = 'xyz'; //will get replaced

$data = array(
        'blog_title'   => 'School',
        'blog_heading' => 'Students',
        'blog_entries' => $result
        );

$data['key'] = 'xyz'; //wont get replaced

$this->parser->parse('test/header',$data);      
$this->parser->parse('test/index',$data);
$this->load->view('test/footer');

这是我的观点

<p>{blog_title}</p>
   <h1>{blog_heading}</h1>
        {blog_entries}
                <h3>{STUD_NAME}</h3>
                <p>{STUD_EMAIL}</p>
                <p>{STUD_GENDER}</p>
                <p>{STUD_PHONE}</p>                                
        {/blog_entries}

标签: phpcodeignitercodeigniter-3

解决方案


希望对你有帮助 :

像这样使用$data

// add key like this 
$data['student'] = 'xyz'; 

$data['blog_title'] = 'School'; 
$data['blog_heading'] = 'Students';

$result = $this->test->view_all('student',['STUD_Gender'=>'Male']);
$data['blog_entries'] = $result; 

$this->parser->parse('test/header',$data);      
$this->parser->parse('test/index',$data);
$this->load->view('test/footer');

你的观点应该是这样的:

// use key in view like this
<p>{student}</p>
<p>{blog_title}</p>
<h1>{blog_heading}</h1>
{blog_entries}
  <h3>{STUD_NAME}</h3>
  <p>{STUD_EMAIL}</p>
  <p>{STUD_GENDER}</p>
  <p>{STUD_PHONE}</p>                                
{/blog_entries}

推荐阅读