php - 如何使用 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}
解决方案
希望对你有帮助 :
像这样使用$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}
推荐阅读
- swift - 协议只能用作通用约束,因为它具有 Self 或关联的类型要求
- odoo - 在 ODOO 11 的 qweb 模板中使用诸如 math.ceil 之类的 python 模块
- asp.net - 动态删除 HttpContext.Current.Session
- javascript - Vue.compile 因 HTML 元素嵌套大于两个而失败
- android - cordova-plugin-fcm 图标自定义
- android - 在通话中拦截电话
- angular - 将 Apollo 客户端用于 GraphQl 时如何在 watchQuery 中使用 loading 属性
- python-3.x - 如何使用 pyinstaller 将 .py 文件转换为 .exe?
- css - 在 react-redux 中使用三元运算符时将动画应用于替换的内容
- ruby-on-rails - NoMethodError:未定义的方法 `user=' rspec