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では以下に統一した。
位置 | 旧デリミタ | 新デリミタ |
---|---|---|
左 | { | <{ |
右 | } | }> |