使用$smarty->display()时是没有办法将页面以字符串的形式返回的。php
查看smarty源码发现display实际上是调用的$smarty->fetch(),发现一个$diaplay参数,true时打印页面,false时返回字符串。直接贴源码(...为省略的逻辑代码)fetch
public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null, $display = false, ...) { ... // display or fetch if ($display) { ... echo $_output; return; } else { ... return $_output; } }
因此使用以下语法能够返回页面内容code
$smarty->fetch('xxx');