イベント駆動型PHPフレームワークを作る その16

CSSやJSはダイナミックに作成したい。
Simgではこれらをテンプレートで実現できる。
とは言え、いちいちEvent登録するのは面倒だ。
そこでscript宣言用のSimg組み込みプラグインを用意した。
以下のように使う。

<link rel="stylesheet"
    href="<{ss_script directory="<{$smarty.const.APP_NAME}>"
                      path='styles.css'}>"
    type="text/css" />
<script language="javascript" 
    src="<{ss_script directory="<{$smarty.const.APP_NAME}>"
                     path='vote.js'}>"></script>

テンプレートはapplication/view/templateに以下のファイル名で作成しておく。

styles.css.tpl
vote.js.tpl

拡張子tplを除くファイル名の拡張子(上記ではcss及びjs)でcontent typeが決まる。

拡張子 content type
txt text/plain
html text/html
xml text/xml
json application/json
css text/css
js text/javascript

CSSやJS用のEventを作成せずにテンプレートを使えるのは便利だ。

ところでもうお気付きと思うが、Smartyのデリミタを変更した。
CSSは「{」や「}」を多用するので、テンプレートが作り辛い。
Simgでは以下に統一した。

位置 旧デリミタ 新デリミタ
{ <{
} }>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です