即使在view-> pick之后,Phalcon PHP仍然会进入默认模板

时间:2014-07-05 08:15:29

标签: php twig phalcon volt

大家好,我有一个像这样的基础课

class IndexController extends ControllerBase
{


    public function onConstruct(){

    }

    public function indexAction()
    {

        return $this->view->pick(array("login/login"));         
    }   

}

我希望它在登录文件夹和login.volt

中呈现最新信息

事情是,它正在渲染它,但它也渲染了index.volt中的内容,并且具有以下内容

<!DOCTYPE html>
<html>
    <head>
        <title>Phalcon PHP Framework</title>
    </head>
    <body>
        {{ content() }}
    </body>
</html>

所以我得到双html双体等

有人可以告诉我为什么会发生这种情况和/或建议修复。谢谢你们

4 个答案:

答案 0 :(得分:1)

尝试使用setMainView方法

class IndexController extends ControllerBase
{


    public function onConstruct(){

    }

    public function indexAction()
    {

        return $this->view->setMainView("login/login");         
    }   

}

setMainView方法用于设置默认视图。只需将视图名称作为参数即可。 http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_View.html

答案 1 :(得分:0)

删除return关键字。我相信它正在获取您想要的视图,然后将其返回到基本模板中。

答案 2 :(得分:0)

在phalcon

中使用视图有两种方法
$this->view->pick(array('login/login')); // with  layout 

$this->view->pick('login/login'); // without layout

答案 3 :(得分:0)

您只能通过setRenderLevel

设置操作视图
public function indexAction()
{
    $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
    return $this->view->pick(array("login/login"));         
}