HDWiki/MVC中的视图

来自站长百科
跳转至: 导航、​ 搜索

HDWiki | HDWiki使用 | HDWiki插件

概述[ ]

MVC中的视图view 主要负责页面显示部分,所有的页面显示全部在此实现,视图对整个页面负责,它通过control的调用来显示页面和数据.

视图(view)类template.class.php路径/lib/template.class.php, 视图类在每个control类的父类(base.calss.php)的构造函数中初始化,主要有以下几个部分,包括设置语言,设置风格,传递变量,显示最终页面,其中前两个在初始化时已被设置,在控制器(control)用的一般就是传递变量和显示最终页面两个部分

视图(view)文件存放于 view/default/文件夹中,如果自己新添加新的模板,可以存放于不同的文件夹,例如 view/mediawiki/文件夹下,命名基本以功能为主,例如viewdoc.thm表示就是浏览词条的页面,

结构[ ]

控制器control调用视图示例代码如下:

$this->view->assign('navigation',$navigation);
$this->view->display('viewdoc'); 

相关解释:

1、$this->view->assign('navigation',$navigation);将$navigation变量的值传递给navigation,页面中可以直接调用nvaigation

2、$this->view->display('viewdoc'); 调用视图文件viewdoc.htm文件并显示最终页面

语法[ ]

在视图文件(如/view/default/viewdoc.htm)中使用较多的有3个部分

1.引入其他视图文件

{template header} 便可引入视图文件header.htm


2.循环显示数据使用loop

<!--{loop $doclist  $doc}-->

<li>$doc['title']</li>


<!--{/loop}-->

这样便可以循环显示词条列表的每个标题了

$doclist是control文件中传入的变量,示例中表示词条列表,$doc是可以自己命名的,表示doclist数组的第x个元素

$doc['title']就是doclist每个元素的子元素,是control文件中传递过来的

判断语句使用if[ ]

<!--{if $tag == 1}-->

<li>显示一个东西</li>


<!--{/if}-->

$tag是control控制器传递过来的变量,判断是否和某个值相等或不等,便可在页面中控制某个地方是否显示

开发[ ]

若添加一个新的视图,需要在控制器(control)中添加新的业务逻辑,取得数据后传递给页面中需要的变量,并调用视图文件显示出来,以做个页面显示用户总数为例,以下分步骤演示:

1.新添加个控制器方法,例如在/control/user.php文件中添加个用户总数的方法function usercount()

2.在usercount方法中通过模型(model)得到用户总数

3.通过$this->view->assign('usercount',$usercount); 把变量传递个页面中usercount

4.通过$this->view->display('usercount');调用/view/default/usercount.htm文件显示用户总数

5./view/default/usercount.htm文件可以使用各种网页编辑器编辑,如果需要显示数组数据的可以通过loop调用,如果需要判断语句的可以通过if调用,在页面上调用用户总数可以用{$usercount} ,$usercount是从control中传递的

这样添加一个新的视图就完成了

参考来源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手册导航

HDWIKI安装

安装教程

HDWiki使用

前台使用说明 | 用户管理 | 模板管理 | 插件管理 | 数据库管理 | 站内统计 | Map功能 | 基本设置 | 站点设置 | 扩展设置 | 内容设置 | 友情链接及广告管理 | 分类管理 | 词条管理 | 数据调用 | 其他内容管理 | 礼品商店 | 图片及木马扫描 | Apache伪静态 | IIS伪静态 | Nginx伪静态 | 通用样式解读 | 样式使用规则 | 数据库结构说明 | 模板说明 | 函数类参考 |软件包结构 | HDWiki运行机制和原理 |编码规范 |MVC中的控制器 | 框架简介 | 高级应用 | MVC中的视图 | MVC中的模型 | HDWiki与PHPCMS整合 | HDWiki与PHPWind整合 | HDWiki与DEDECMS整合 | HDWiki与UCenter整合 | 可视化编辑使用说明 | 模块区版块制作教程 | 模版共享

HDWiki插件

插件开发指南 | 许愿墙插件开发实例 | 模版与标签 | 宣传中心 | 友情链接申请 | 数据调用 | 互动摸摸