【Smarty】tplファイルから別のtplファイルを読み込む方法

Smarty

smartyでは、{include}構文を使用することで、tplファイル内から別のテンプレートファイルを読み込むことができます。

{include file=’header.tpl’}
hello world.
{include file=’footer.tpl’}

あまり使わないかもしれませんが、アクセスログの採取や認証処理(ログインチェック)等の目的で、
tplからPHPのコードを実行したい場合もあります。

このときは、{include_php}構文を使用することで、他のPHPファイルを実行することが可能です。
だたし、smartyとして標準でinclude_php構文は用意されているものの、使用は推奨されていません。

{include_php file=’loginCheck.php’}
{include file=’header.tpl’}
hello world.
{include file=’footer.tpl’}

include_phpでphpファイルを読み込むだけです。
もともとsmarty自体がロジックとデザインの分離を目的としているため、
デザイン側でロジックを実行させるのは本来の目的に沿ってないためです。
デバッグ目的など以外では、上記例のような場合でも、はやりロジック側に処理を持たせたほうがベターなようです。

タイトルとURLをコピーしました