phalcon框架学习之view

phalcon框架的view分多级:全局-控制器视图-动作视图。视图由上到下,按层级嵌套。

全局视图

默认全局视图为Views/index.html,所有的页面展示时,默认调用此页面,在这个页面中必须包含

echo $this->getContent()

语句,这个语句会读取views/layout/controllername.html,并把其内容嵌入在这句代码所在的位置。

控制器视图

控制器视图为views/layout/controllername.html,控制器视图为控制器的全局视图,默认当前控制器的所有页面都会调用此视图,控制器视图同样需要包含

echo $this->getContent()

语句,这个语句会读取views/controllername/actionname.phtml文件,并把action内容嵌入在这句代码所在的位置。

动作视图

动作视图在views/controllername/actionname.phtml。每个action需要一个actionName.phtml页面。

局部视图

在开发中通常会遇到一个页面需要单独处理,如并不需要全局或控制器视图,就需要单独处理,就会用到局部视图。

$this->partial("shared/ad_banner");
//other code
$this->partial("shared/footer");

注意:一旦使用了局部视图,全局、控制器、动作等视图会失效,如果想要继续使用,可以使用局部视图同样的方法进行引入。

传递变量

在开发中,可能会从action中传递变量到view:

$this->view->setVar("var_name", $var_value);

在视图中可以直接使用$var_name访问传递过来的变量。

使用非默认视图

默认情况下,action会自动寻找同名的view文件。但在开发过程中,可能会遇到同一页面两种展示方式,如登录前、登录后、皮肤等,此时可以使用此方法输出其他视图。

$this->view->pick("other/someview");

其他

更多有关视图内容,可参考官方文档。

posted @ 2015-07-01 11:28  pyzn  阅读(553)  评论(0编辑  收藏  举报