0

少し問題があります。smarty 3 テンプレート ファイル内でテンプレート変数を割り当てようとしていますが、登録されていないようです。

私はコントローラでこれを使用できることを知っています:

$this->data['myVar'] = 'something';

それを使いたくない。私はこれを試しました:

{assign var="myVar" value="something" noache}

しかし、何らかの理由で機能していないようです。

これが使用されているテンプレートは、別のテンプレートを拡張しています。

変数のスコープをグローバルに設定しようとしました。

もう1つの奇妙なことは、すぐ下に出力されている変数を割り当てようとしても、割り当てメソッドがすべて壊れているかのように空を返すことです。エラーはありませんが。

smarty で割り当てるのは悪い習慣だと考える人もいるかもしれませんが、私の理由は、テンプレートでメタ情報を指定できるようになるからです。これは、メタ調整を実行するときに、誰かがコントローラーにアクセスするのではなく、テンプレートで実行できることを意味します。

誰かが光を当てることができることを願って、

読んでくれてありがとう。

4

1 に答える 1

-2

問題が発生した理由はわかりませんが、とにかくマスター テンプレートを拡張していたので、代わりに Smarty 3 {block}{/block} タグを使用することになりました。これにより、必要な機能が作成されました。

これが他の誰かに役立つことを願っています。

于 2012-04-22T23:38:03.280 に答える