【问题标题】:How to load view in phalcon without any other contents如何在没有任何其他内容的情况下在 phalcon 中加载视图
【发布时间】:2016-06-06 14:25:15
【问题描述】:

我需要在 phalcon 中加载一部分视图,以便在 ajax 调用中返回。为此,我需要在变量中设置视图。现在发生的事情是我正在获取所有模板,包括页眉和页脚。

【问题讨论】:

    标签: phalcon volt


    【解决方案1】:

    您需要禁用其余的视图渲染。确切情况示例(为 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);
    

    【讨论】:

    • 更新了我的答案以使用内置方法 setJsonContent 以避免手动使用 json_encode。感谢 Boris Delev。
    • 在某些Phalcon版本之后,$this->view->disable();这一行可以跳过当return->使用setJsonContent时。
    猜你喜欢
    • 1970-01-01
    • 2014-12-13
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 2010-10-23
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多