我有一个问题是读取循环中的变量(使用模板解析器),但是否则是全局的,而不是在循环的数组中发布的值。例如:
# News_Controller.php
// load lang file /news_lang.php
$this->lang->load('news', 'english');
// push arrays of variables in content
$this->data['content'] = $this->parser->parse('news/edit_news_tmp', array_merge($this->data, $news, $this->lang->subset('text')), true);
// push content in main index template
$this->parser->parse('admin/index_tmp', $this->data);
获取$news
作为数据数组,其中包含来自Model_News.php的两个语言的详细信息:
$news = array(
[idNews] => 10
[isActive] => "checked"
[details_news] => Array(
[0] => Array(
[titleNews] => 'Hi, Im news title!',
[shortLanguage] => 'ENG',
[nameLanguage] => 'English'),
[1] => Array(
[titleNews] => 'Titre pour les nouvelles!',
[shortLanguage] => 'FRA',
[nameLanguage] => 'France'),
)),
[idNews] => 11
...
Lang文件返回键:
['lang_txt_news_label_name'] = 'News title';
// edit_news_tmp.php template looks like:
{details_news}
<div class="form-group">
/* lang key NOT shown in loop */
<label>{lang_txt_news_label_name}</label>
/* value form array, shown OK */
<input type="text" name="nameNews_{nameLanguage}" value="{nameNews}">
</div>
{/details_news}
/* but it can be seen outside the loop */
<p>{lang_txt_news_label_name}</p> /* produce: Title */
来自模型的变量(nameLanguage,nameNews ...)可以毫无问题地看到..但是通过解析器插入控制器中的变量(如_lang键)无法循环读取。 / p>
有谁知道可能是什么?
在Codeigniter版本2.x中,我多次使用上述方法,并且始终有效。
提前致谢..