S eda1a14b50ee24bcab19b62f40858e76 Smarty

割り当てられた変数を表示する

別ウィンドウで表示
{debug}

こういう方法もある
{php}var_dump($this->_tpl_vars){/php}

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

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


{php}{/php}

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

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

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

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

http://sky.freespace.jp/smarty/SmartyManua...

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

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

デリミタ

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

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

もしかして

    他の人の「Smarty」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ