将 smarty 模板传递给 codeigniter 变量并将 return 作为 JSON 数据

Pass smarty template to codeigniter variable and return as JSON data

我想知道你们中是否有人尝试将 SMARTY 模板(视图)传递给变量,然后将该变量传递给 json 响应?。这是我的示例代码

$content = $this->smarty->view('myview/page', array('var' => 'some value'), true);
echo json_encode(array('success' => true, 'message' => $content));exit;

所以我正在考虑将 $content 变量传递给 json 响应。内容是 view/template 本身。在简单的 codeigniter 视图中,这是这样的

$content = $this->load->view('myview/page', array('var' => 'some value'), true);
echo json_encode(array('success' => true, 'message' => $content));exit;

这在 smarty 中可行吗?就像将 template/view 传递给变量一样?问题是当我使用 $this->smarty->view('myview/page', array('var' => 'some value'), true) 它会自动呈现视图

好的,我找到了答案。希望这对将来的人有所帮助。我所做的是使用 fetch 而不是 view。

$content = $this->smarty->fetch("myview/page.tpl", array('var' => 'some value'));
echo json_encode(array('success' => true, 'message' => $content));exit;