1

我在 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 变量。那么我该怎么做呢?

4

1 回答 1

0

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

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

$var = F3::get('var_name');
<F3:repeat .... >
  <?= $var; ?>
</F3:repeat>
于 2013-07-03T21:18:08.020 回答