だらだらやるよ。

こげつのIT技術メモ

Smartyのinclude_phpを使用した際に、テンプレートから値を渡す。

あまり推奨されていない関数になるのですが、Smartyには{include_php}という関数があります。
任意のPHPファイルを実行し、結果を受け取ったり表示したりするための関数です。
{include_php} | Smarty


この関数を使いPHPファイルを実行させる場合、
テンプレート側から情報を渡したいことがあると思います。
ちょっとどうしたもんか困ったのですが、マニュアルには書いていませんが、Smartyのinclude関数と同じように、
以下のように、任意のパラメータを追加することにより、テンプレートから値を渡すことができました。

{include_php file=test.php hoge="hogehoge"}

test.phpの中身

<?php
print_r($params);//"hoge"=>"hogehoge"
?>

$paramsの中にキー名=>値の形式で格納されるようです。
複数の値を渡したい時も、こんな感じにかけて安心!

{include_php file=test.php hoge="hogehoge" piyo="piyoyo"}