1

私は smarty バージョン 2.6.26 を使用しています。ドキュメントによると、 {include 'file.tpl' scope='global'} または {include 'child_template.tpl' scope=parent} を使用すると、含まれている変数にアクセスできるはずです。子テンプレートを親テンプレートで使用します。

例として、子テンプレートに以下のようなコードがあります。

  {capture assign="project_variable" name=project_data scope="global"}
  my text data here...
  {/capture}

このテンプレート内で変数 {$project_data} を使用できるようになりました

親 (ダッシュボード) テンプレートで使用している:

 {include 'child_template.tpl' scope=global}

しかし、親テンプレートで {$project_data} を使用しようとすると、空白になります。子テンプレートに設定された変数はローカルのみのように見えますか?

ドキュメントによると: http://www.smarty.net/docs/en/language.function.include.tpl

「インクルード テンプレート内のインクルード テンプレートのすべての変数を使用できます」。

ここで何が欠けていますか?洞察を事前に感謝します。

4

2 に答える 2

1

申し訳ありませんが、Smarty2 ではこれができないようです。いくつかの方法を試しましたが、うまくいきません。

scopeSmarty3 にはプロパティがありません。Smarty3 のドキュメントを参照しましたが、Smarty2 のドキュメントを参照する必要があります。

于 2014-09-05T20:31:01.157 に答える