ZendFramework2入门教程第5章 创建视图模板5.1 创建模板

5.1 创建模板

为要呼应本书各章节的内容,在此将建立三种模板:布局模板、错误异常模板、控制器模板

5.1.1 建立布局目录

路径:/module/Application/view/layout

此目录主要用来放置网站应用程序的布局文件,在建站的时候可以根据页面的不同需要来选择不同的布局文件。布局的功能可以实现不同模块不同布局,不同模块相同布局的实际需要。

5.1.2 建立布局文件

路径:/module/Application/view/layout/layout.phtml

在此需要注意一下,ZF2默认的视图文件均以.phtml 为后缀名,如果有其他特殊要求可以修改为其他的后缀名

5.1.3 建立错误异常目录

路径:/module/Application/view/error

在此目录下主要用来放置一些关于错误异常处理的模板文件

5.1.4 建立错误异常模板文件

/module/Application/view/error/index.phtml 错误异常信息显示模板文件

/module/Application/view/error/404.phtml 404错误异常信息显示模板文件

5.1.5 建立 NewsController 模板目录

路径:/module/Application/view/application/news

此目录主要用放置 NewsController 中Action 对应的模板文件。一般情况一个控制会对应一个模板目录,同时模版目录的名称与与控制的名称一致(不包含Controller)。

5.1.6 建立 NewsController 对应的Action 模板文件

  • /module/Application/view/application/news/index.phtml indexAction 使用的模板文件

  • /module/Application/view/application/news/list.phtml listAction 使用的模板文件

  • /module/Application/view/application/news/add.phtml addAction 使用的模板文件

  • /module/Application/view/application/news/edit.phtml editAction 使用的模板文件

  • /module/Application/view/application/news/delete.phtml deleteAction 使用的模板文件

从上面的4个模板文件可以看出一个规律,模板的文件名都是控制器Action 的名称。其实在ZF2里面有一个默认规定,那就是在各个Action 进行模板渲染里默认搜索与Action名相同的模板文件,所以在会命名模板文件名的时候需要注意。如果不想使用默认的模板对应名称,可以在控制器中返回模板时通过 setTemplate() 函数来设置自已需要的模板文件。为了方便项目的日后维护作者在此也建议不同的action对就不同的模板。

5.1.7 视图中常用函数

  • $this->doctype() 指定文件的文档类型
  • $this->headTitle()->appendName() 输出文件标题
  • $this->headMeta() 设置并输出文件的Meta 属性
  • $this->headLink() ->prependStylesheet() 加载格式表文件
  • $this->headScript()->prependFile() 加载 js 文件
  • $this->basePath() 获取网站根路径
  • $this->navigation()->menu() 输出导航菜单
  • $this->url() 设置超链接
  • $this->content 输出页面内容(其实就是将其他页面的内容输出到布局页面上来)
  • $this->escapeHmtl() 过滤HTML标签
  • $this->translate() 进行语言转换(如果有设置多国语言支持)

以上是一些相对较为常用的函数功能,其他的函数可以查看Zend\View\Renderer\PhpRenderer.php 文件中的相关描述