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 $doc['title']

这样便可以循环显示词条列表的每个标题了,$doclist是control文件中传入的变量,示例中表示词条列表,$doc是可以自己命名的,表示doclist数组的第x个元素

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

3.判断语句使用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中传递的

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

hdwiki中模板和标签的使用的更多相关文章

  1. hdwiki 的模板和标签

    模版和标签 HDWiki模版标签可以让用户更方便.更容易的在页面中调用HDWiki的数据.        HDWiki的三种标签:1.循环标签 {hdwiki:doclist...}{/hdwiki} ...

  2. hdwiki中模板的使用说明

    HDwiki所有模版文件都在根目录view下的default文件里,以admin_开头的是后台的模版文件,其它不是以admin_开头的,就是所有的前台文件.具体列表如下:首页模版文件:  index. ...

  3. Django项目中模板标签及模板的继承与引用【网站中快速布置广告】

    Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forloop %} 循环 ...

  4. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  5. ThinkPHP模板IF标签用法详解

    投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-01 我要评论 这篇文章主要介绍了ThinkPHP模板IF标签用法,需要的朋友可以参考下 ThinkPHP的IF标 ...

  6. Django中模板的用法简介

    1. 模板系统的介绍 Django作为一个Web框架,其模板所需的HTML输出静态部分以及动态内容插入 模板由HTML代码和逻辑控制代码构成 Django框架的模板语言的语法格式: {{var_nam ...

  7. python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)

    昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

  8. django模板-自定义标签、过滤器

    自定义标签或者过滤器的步骤 ①将要创建自定义标签或过滤器的app加入settings文件的installed_apps中 ②在app中创建templatetags目录,类型为包即packages ③在 ...

  9. django模板-if标签和for标签

    在django中,标签写在{%  标签  %}中 if else标签 ①通过if进行条件判断 views.py from django.shortcuts import render def inde ...

随机推荐

  1. ssh隧道技术

    大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...

  2. 在struts里使用Kindeditor注意事项

    struts配置文件里 <filter-mapping>          <filter-name>struts2</filter-name>          ...

  3. Python xml

    第一部分:读 ######## ## # -*- coding:utf-8 -*- """ * User: not me * Date: 11-11-9 * Time: ...

  4. 来自“Java中国”优秀的程序员不会觉得累成狗是一种荣耀

    分享下“https://java-china.org/topic/28“,也算是对自己的一种告诫吧. 原文:Sleep deprivation is not a badge of honor 先介绍一 ...

  5. eclipse lua使用

    首先安装lua eclipse,装插件或者独立版的都可以.但是在独立版的eclipse装subclipse会报错,Failed to prepare partial IU.解决办法: work aro ...

  6. 关于gem包下载网站的说明

  7. C++之路进阶——bzoj1455(罗马游戏)

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser  gryz2016 Logout 捐赠本站 Notice:由于本OJ ...

  8. HDU 2993 MAX Average Problem(斜率优化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 Problem Description Consider a simple sequence w ...

  9. spark读取hdfs数据本地性异常

    在分布式计算中,为了提高计算速度,数据本地性是其中重要的一环. 不过有时候它同样也会带来一些问题. 一.问题描述 在分布式计算中,大多数情况下要做到移动计算而非移动数据,所以数据本地性尤其重要,因此我 ...

  10. 夺命雷公狗---DEDECMS----21dedecms按照地区取出电影内容

    我们现在要做的就是: 这些电影都是要按照地区来取出才可以的,但是我们arclist标签里面有没有按照条件来查找的地方,我们只好换套路了,要不然条条大路都不通,,,, 我们先来构造一条语句: 他这个标签 ...