PHPからのtpl(テンプレート)ファイルの生成について質問です。


PHP内からデータベースの値を取り出し下記のように

$tpl = <<<EOM
{foreach from=$pick2 key="key1" item="val" name="test"}
{$val.name}
{/foreach}
EOM;

取り出した値をさらにループさせ並べて表示するという構文を

$filepointer = fopen("test.tpl","w");
fwrite($filepointer,$tpl);

上記のように
$tplに代入した実際に表示されるHTML文をtplファイルに書き込み生成したいです。
ただ上記だとうまく動作してくれません。
少しわかりにくいかもしれませんがどのように書けば良いかご指南お願いいたします。

回答の条件
  • 1人5回まで
  • 登録:2012/04/14 16:09:17
  • 終了:2012/04/14 17:14:05

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/04/14 16:51:42

ポイント200pt

過去の質問からベースはphpだとして、
テンプレートエンジンはSmartyでいいかな?

// ファイルオープン
$filepointer = fopen( 'test.tpl', 'w' ) or die('オープン失敗');
// テンプレートを実行して、出力を変数に取り込む
$tpl = $smarty->fetch('元になるテンプレート.tpl');
// ファイルへ書き出し
fwrite($filepointer,$tpl);
// ファイルクローズ
fclose($filepointer);

http://www.smarty.net/docsv2/ja/api.fetch.tpl

id:numb08

完璧でした。とても勉強になりました。ありがとうございました。

2012/04/14 17:13:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません