Smartyとか

Yahooの最速化ルールに「ルール6:スクリプトは最後に置く」ってのがあるけど、
Smarty を使い、フッター部を別テンプレートにしているような場合はこうなるのか。

content.tpl
[html] CLICK {{footer_buffer}} $(function(){ $('#hogehoge').click(function(){ alert('hello'); }); }); {{/footer_buffer}}

{{include file="footer.tpl"}} [/html]
footer.tpl
[html]

{{footer_flush}} [/html]
footer_buffer は自作ブロックでそこに記述されたコードはどこか(共通のSingletonなクラスとか)にpushされ、
footer_flush(自作関数)でその内容を吐き出すようにすればいいのか。

こういう風にしておけば表示時の配置箇所はバラバラのものでも意味集合としては同じものであれば、
一箇所のソースにまとめることができるか。

ブロック関数便利!