Smarty
0pt
割り当てられた変数を表示する
別ウィンドウで表示
{debug}
こういう方法もある
{php}var_dump($this->_tpl_vars){/php}
{php}{/php}はなんとSmartyオブジェクトのスコープで実行されるらしい。$thisが使える!
→http://d.hatena.ne.jp/tacchini/20080521/1211356056
コンパイル済みファイルからコード拾ってくるしかないのかと思ってたけど、こんな簡単な方法があったとは…。
{php}{/php}
{php}{/php}を使えばSmarty内でphpコードを書くことができる。
「Smartyはviewだからその中でphpなんて書いちゃダメ」と頭ごなしに否定していた。でも最近のフレームワークはそれ以前にほとんどSmartyではなく素のphpをテンプレートエンジンとして使っていて、ようは使う側が正しく分離できていればいいんだと気づいた。
viewにしか考えられないプレゼンテーションロジックはテンプレート内にphpで書くことも許されると思う。
キャッシュ可能なプラグインの出力の制御
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
コメントはまだありません