Smartyの履歴

{php}{/php}

{php}{/php}を使えばSmarty内でphpコードを書くことができる。

Smartyはviewだからその中でphpなて書いちゃダメ」と頭ごなしに否定していた。でも最近のフレームワークはそれ以前にほとSmartyではなく素のphpをテンプレートエンジンとして使っていて、ようは使う側が正しく分離できていればいいだと気づいた。

viewにしか考えられないプレゼンテーションロジックはテンプレート内にphpで書くことも許されると思う。

{php}{/php}はなSmartyオブジェクトのスコープで実行されるらしい。$thisが使える!
http://d.hatena.ne.jp/tacchini/20080521/1211356056

コンパイル済みファイルからコード拾ってくるしかないのかと思ってたけど、こな簡単な方法があったとは…。

キャッシュ可能なプラグインの出力の制御

http://sky.freespace.jp/smarty/SmartyManual_2-6-7J_html/cach...

例 13-10.これの第4引数入れてもキャッシュされないようなだけど、何か悪いかな。

あと、キャッシュ有効で関数のキャッシュを無効にしたとき、ちゃとassignしとかないとダメ

デリミタ

標準のデリミタ「{ }」はJavaScript埋め込む時に大変めどくさい。
XOOPSは「<{ }>」らしいけど、HTMLタグ内に入れるとエディタでうまくいかなくなる。
EC CUBEは「<!--{ }-->」。長い。

デリミタの種類を増やすという手もある
http://d.hatena.ne.jp/maru_cc/20081112/with_designer