1

だから私は asp.net がマスターページを行うのと同じように smarty を使いたいです。すべてのページに必要なドロップダウン メニューがあり、いくつかの動的データがあります。master.tpl ファイルを使用するすべての php スクリプトでこの関数を呼び出したり再現したりしたくありません。ファイルが使用され、さらに正しいスクリプトが実行されます。

私はこれを正しい方法で行うことを検討しているので、{php} などの非推奨のものは使用しません。

ありがとう。

4

3 に答える 3

0

だから、私はプラグインを書くことになりました(これは私が最初に思ったよりもはるかに簡単でした)、そして文字列を返すだけで、<li>アイテムが含まれています、foreachループでこの関数を呼び出すことは可能でしょうか?私はそれを得ることができませんでした昨夜働くために。

于 2012-05-15T18:21:59.383 に答える
0

別の smarty テンプレートをレンダリングし、構成ファイルに追加します

$smarty->assign('items',getmenuitems());


$menu = $smarty->fetch('mymenu.tpl');

$smarty->assign('dynamic_menu',$menu);

このようなコードを各ページで呼び出される構成ファイルなどに配置すると、必要なことが行われるはずです。次に、{$dynamic_menu} をメイン テンプレートに配置できます。

別のメモとして、スマートに別の区切り文字を使用すると、スクリプトなどに値する使用の苦痛が取り除かれることがわかります。

$smarty-> left_delimiter = '{[';
于 2012-05-12T19:55:17.340 に答える
0

smarty コールを介して含めるだけです。{include file="path" name_of_variable=$value_of_variable}. PHPコードでは、すべてのページでデータが生成される追加のコードを実行するだけです.

于 2012-05-12T20:31:58.503 に答える