0

json 配列で Smarty テンプレートを返すには?
例:
PHP:

$smarty=new Smarty();  
....  
$title='some text';  
echo json_encode(array('title'=>$title,'page'=>$smarty->display('templatename.tpl')));

jQuery:

$.post('pages.php',{id:id,page:page},function(json){
    $('.title').text(json.title);
    $('.content').html(json.page);
},'json');
4

1 に答える 1

1

Smarty のdisplay()は、レンダリングされたテンプレートを出力バッファーにエコーします。おそらく、レンダリングされたテンプレートを文字列として取得するためにfetch()を探しているでしょう。

<?php
// …
header('Content-Type: application/javascript');
echo json_encode(array(
  'title' => $title,
  'page' => $smarty->fetch('templatename.tpl'),
));
于 2012-03-02T08:31:16.200 に答える