SMARTYでテンプレートを暫く使っていると、作成したテンプレートを同じフォルダに保存してしまっていた為に大量になってしまいました。ディレクトリを指定するSmartyクラスをディレクトリ毎に作成すれば問題はないんだろうけど、なるべく手を抜きたい(~~)・・・いやいや、共通的に使用したいのでテンプレートを指定する際にどう指定すれば階層構造を再現できるか試してみました。
PHPスクリプトモジュールとテンプレートは次の場所に保存されているとします。
PHPスクリプト:
/home/***/public_html/njc/pg.php
テンプレート
/home/***/template/njc/pg.tpl
/home/***/public_html/njc/pg.php
テンプレート
/home/***/template/njc/pg.tpl
テンプレートのディレクトリがSmartyクラス上、
/home/***/template/njc/ を指定していれば、
displayのパラメータには、「 pg.tpl 」と書けばいいのですが、
/home/***/template/ を指定していた場合は、
「 njc/pg.tpl 」と書く必要があります。
つまり、
$o_smarty->display(”njc/pg.tpl”); ※$o_smartyはSmartyクラスの拡張
・・・と言うように書けばいいようです。
フォルダの前に「 / 」を追加して「 /njc/pg.tpl 」しまうと、
別の場所と認識してしまいますので、ご注意!!
(これが何処を指すのかは、調べてません。)
TrackBack URI : http://njcfactory.com/bbg/wp-trackback.php?p=176
Comments (0)