Smartyは、SyL WEBアプリケーションフレームワークで推奨している外部ライブラリのテンプレートエンジンです。
Smartyを使用するには、
(1) 設定ファイル(defines.xml)でSmarty用の設定を行う
(2) アクション設定ファイル(actions.xml)にSmartyを使用するように設定する
の2つがポイントです。
(1) では、最低限 SYL_SMARTY_DIR, SYL_SMARTY_COMPILE_DIR の2つの内容を確認してください。 もし、SmartyをSyL標準の SyL/include/smarty にインストールする場合は、上記2つの設定はデフォルトで構いません。 ⇒ SyL標準のSmartyのインストール
Smartyでコンパイルされる単位は、アプリケーションごとです。1プロジェクトに複数のアプリケーションがあったとしても コンパイルされたファイルの接頭辞に、アプリケーション名が付加されるので、バッティングすることはありません。
(2) では、アクション設定ファイル(actions.xml)の 対応するアクション設定の viewType に「smarty」と設定します。 (レイアウトと共に使用する場合は、「layout.smarty」と設定します)
…
<action path="/example1/(.+)\.php"
template="/example1/$1.html"
viewType="smarty">
<method name="execute{$action}">
<arg type="component" reference="true">data</arg>
<arg type="component" reference="true">context</arg>
</method>
</action>
…
アクションファイル中で、データ管理オブジェクトに値をセットすることにより、テンプレート側で値を取得することができます。
// アクション側 ... $data->set('example', 'SyL'); ...
// テンプレート側 ... Hello {$example}! ...