Smartyは、templatesディレクトリなどを作って、テンプレートはそこに置くというのが基本の使い方。
でも、実はどの階層のどのディレクトリにでもテンプレートを置くことができる。
$smarty->fetch('file:/home/xxx/public_html/information/about.html');
みたいな感じで、file:
の後にフルパスで指定できる。(相対パスで書いたらtemplatesディレクトリ内での相対パスになる)
つまり、全てのhtmlファイルを前処理するようなphpスクリプトをサイトに置いて、$_SERVER['PATH_TRANSLATED']
などを参考にアクセスされたHTMLファイルのパスを取得すれば、サイトにFTPされただけの素のhtmlファイル全てに対して、Smartyテンプレートとしてタグの埋め込みが可能になる。
という事は、共通ナビゲーションの加工やログイン有無での表示切替などを、PHP+Smartyでガリガリできる。
色々面白い事ができます。