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 に答える