Smarty
第 3 版(2009-02-24 07:46:37 · akkun_choi)を表示しています。 最新版に戻る
{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/caching.cacheable.html
例 13-10.これの第4引数入れてもキャッシュされないようなんだけど、何か悪いんかな。
あと、キャッシュ有効で関数のキャッシュを無効にしたとき、ちゃんとassignしとかないとダメ
デリミタ
標準のデリミタ「{ }」はJavaScript埋め込む時に大変めんどくさい。
XOOPSは「<{ }>」らしいけど、HTMLタグ内に入れるとエディタでうまくいかなくなる。
EC CUBEは「<!--{ }-->」。長い。
デリミタの種類を増やすという手もある
http://d.hatena.ne.jp/maru_cc/20081112/with_designer
履歴
タグ
「Smarty」タグが付けられた単語
他の人の「Smarty」
- tnantokaの「Smarty」tnantoka懐かしのテンプレートエンジン。 諸事情で格闘中。 コメント {* hello *} JSを書くときは、{literal}{/literal}で囲わなきゃダメ><…2011-10-07
- 西小倉パンデイロの「Smarty」西小倉事典PHPプログラムのView部分に「<?php」と「?>」を書く回数を減らすために生まれたもの。 PHP関数を動かす {php} php関数 {/php} arr…2008-06-25
- 2007-05-27