5

私はperlのTTを使用していて、テンプレートに挿入して変数を処理しようとしています。変数自体にはTTディレクティブが含まれています。

したがって、スクリプトでは、次のようにsmthを記述しています。

$var{descr} = "[% pid = 1; INSERT plink.par %]";

そして、TTテンプレート(\%varを受け取った)で:

[% BLOCK parsedDescr %]
[% descr %]
[% END %]
<p>[% INCLUDE parsedDescr %]

そして、pid変数が「1」に設定され、plink.parファイルが挿入されることを期待しています。しかし、代わりに、私は自分のhtmlページに変数descrの内容を正確に表示します。

[% pid = 1; INSERT plink.par %]

つまり、この変数はTTによって処理されないままになります。

TTにコンテンツを処理させるにはどうすればよいですか?

4

1 に答える 1

5

あなたは評価フィルターを使うことができます:

<p>[% descr | eval %]

リンクされたマンページから:

evalフィルターは、ブロックをテンプレートテキストとして評価し、ブロック内に埋め込まれたディレクティブを処理します。これにより、テンプレート変数にテンプレートフラグメントを含めることができます。または、データベースなどの外部ソースからテンプレートフラグメントを返すためのメソッドを提供して、必要に応じてテンプレートで処理することができます。

于 2012-05-22T22:43:55.247 に答える