模板解析器循环中无法看到Lang键值 - Codeigniter 3.1.4

时间:2017-06-07 23:32:56

标签: php codeigniter parsing templates codeigniter-3

我有一个问题是读取循环中的变量(使用模板解析器),但是否则是全局的,而不是在循环的数组中发布的值。例如:

# 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中,我多次使用上述方法,并且始终有效。

提前致谢..

0 个答案:

没有答案