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

「Smarty」について友人に書いてもらう。

あなたにとって「Smarty」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

お気に入りの説明

0 pt
PHP のためのテンプレートエンジン(?) テンプレートエンジンってわかりづらいな~。 感覚的にはMovableTypeみたいな感じらしい。 でも、もっとシンプル。
もっと読む
0 pt
PHPプログラムのView部分に「<?php」と「?>」を書く回数を減らすために生まれたもの。 PHP関数を動かす {php} php関数 {/php} arrayの中身を見る {$array|@debug_print_var}
もっと読む

他の人の「Smarty」を見る