无法在循环中达到变量 - php&无脂肪的框架

时间:2012-09-13 20:40:44

标签: php fat-free-framework

我用PHP代码创建一个数组:

foreach ($this->get("DB")->result as $ct){
$contentTexts[$ct["langCode"]][$ct["wordCode"]] = $ct["wordText"]; //$contentTexts is a two dimensional array
}

并分配像这样的变量

$this->set("contentTexts",$contentTexts); // $contentTexts is an array described above
$this->set("lwMetaTitle",$content->lwMetaTitle);

在我想使用的模板文件中:

<F3:repeat group="{{@contentTexts} }" key="{{@langCode}}" value="{{@ctext}}" counter="{{@counter}}">

{{@ctext[@lwMetaTitle]}}

</F3:repeat>

它会抛出错误。当我改变这一行

{{@ctext[@lwMetaTitle]}}

{{var_dump(@ctext[@lwMetaTitle])}}

它描述了这样的错误:

内部服务器错误 未定义的索引:@lwMetaTitle

我认为它无法在for循环中到达@lwMetaTitle变量。那我怎么能这样做呢?

1 个答案:

答案 0 :(得分:0)

我知道这不是一个完全答案,但我会避免使用F3的模板系统来支持使用直接PHP处理视图。我发现要容易得多,特别是因为F3的文档和支持很糟糕。此外,当您已经了解PHP时,为什么还要学习一种新的非标准语法?

除此之外,我唯一的另一个想法是尝试在循环之外获取框架变量并将其分配给局部变量,如下所示:

$var = F3::get('var_name');
<F3:repeat .... >
  <?= $var; ?>
</F3:repeat>