我需要在phalcon中加载一部分视图,以便在ajax调用中返回。为此,我需要在变量中设置视图。现在发生了什么,我得到所有模板,包括页眉和页脚。
答案 0 :(得分:3)
您需要禁用其余视图渲染。确切情况的示例(返回AJAX的JSON响应)
$viewParams = [
'param1' => '....',
'param2' => '....',
];
$response = new \stdClass();
// Render view into a variable
$this->view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_NO_RENDER);
$response->html = $this->view->getRender('yourTemplateDir', 'yourTemplateName', $viewParams, function($view) {
$view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_ACTION_VIEW);
});
// Disable view
$this->view->disable();
return $this->response->setJsonContent($response);