2

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

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

4 回答 4

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

于 2015-01-14T01:51:02.457 回答
0

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

于 2014-07-05T08:19:56.260 回答
0

您只能通过以下方式设置操作视图setRenderLevel

public function indexAction()
{
    $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
    return $this->view->pick(array("login/login"));         
}   
于 2017-08-16T05:13:43.607 回答
0

在 phalcon 中有两种使用视图的方法

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

$this->view->pick('login/login'); // without layout
于 2017-08-14T06:04:10.977 回答