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. postgress Sql数据库的复制

    1.保证本地可正常执行pg_dump,即就是本地有安装postgress数据库,最好把bin目录添加到环境变量path中2.在命令行中执行如下语句: pg_dump -U zhangsan -h 19 ...

  2. javascript原生dom操作方法

    一.节点层次属性 考虑空白符的相关层次关系属性: 1.childNodes属性 包含 2.parentNode属性 3.previouseSibling属性和nextSibling属性 4.first ...

  3. UIPikerView的属性

    1.    numberOfComponents:返回UIPickerView当前的列数 NSInteger num = _pickerView.numberOfComponents; NSLog( ...

  4. 在一个Label上设置多种颜色字体

    #import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL ...

  5. IIS 相关

    Restart IIS: run "iisreset" command check port usage: netstat -ano How to set up SSL in II ...

  6. Private strand flush not complete

    当切换日志的时候,所有private strands的内容都会被flush到当前的日志中,然后日志切换才可以完成. strand是在oracle 10g中引入的新术语,和redo的latches相关. ...

  7. ARM 嵌入式中断

    1. SATA中断要打开,挂在fiq上(通过cpu中断的fiq中断enable位,对sata中断使能), 2.外设及GPIO中断打开,挂在irq上(通过cpu中断的irq 的enable位对其使能), ...

  8. jquery 操作select

    jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其中一项时触发 var checkValue = jQ ...

  9. PostgreSQL configuration file postgresql.conf recommanded settings and how it works

    1        Set max_connections to three times the number of processor cores on the server. Include vir ...

  10. configuring tortoise git and vs code.

    Preparation, SSH keygen: $ git config --global user.name "calos" $ git config --global use ...