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. PHP编码规范(转)

    一.文件格式 1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" .这是为了防止多余的空格或者其它字符影响到代码.例如:<?php$foo = ' ...

  2. HTML页面刷新、跳转

    HTML方式 1.页面刷新 <!-- 5秒之后,跳转到http://www.qunar.com页面 --> <meta http-equiv="refresh" ...

  3. MagicNotes:自我管理中的破窗效应

    MagicNotes,思绪随风飞扬,偶尔在这里停留. 在<程序员修炼之道——从小工到专家>这本书里,有这么一段描述: 在市区,有些建筑漂亮而整洁,而另一些却是破败不堪的“废弃船只”.为什么 ...

  4. Aws api gateway Domain name

    Set Up a Custom Domain Name for an API Gateway API The following procedure describes how to set up a ...

  5. Unable to get setting value Parameter name: profileName

    Today when I am building my application, everything works well but when I try to run Azure Worker Ro ...

  6. 使用ajax请求,模态框调用并更改密码

    前端页面 <a href="javascript:void(0);" onclick="changPassword()"> <i class= ...

  7. Oracle Flashback Technologies - 闪回数据库

    Oracle Flashback Technologies - 闪回数据库 根据指定的SCN,使用rman闪回数据库 #查看可以闪回到多久前 SQL> select * from v$flash ...

  8. Java String.split()

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用“.”作为分隔的话,必须是如下写法,String.split( ...

  9. 转:python webdriver API 之设置等待时间

    有时候为了保证脚本运行的稳定性,需要脚本中添加等待时间.sleep(): 设置固定休眠时间. python 的 time 包提供了休眠方法 sleep() , 导入 time 包后就可以使用 slee ...

  10. poj1703 Find them, Catch them 并查集

    poj(1703) Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26992   ...