ThinkPHP中的内置标签
ThinkPHP中的内置标签
1、内置标签分类
- 闭合标签 <tag></tag>
- 开放标签 <tag />
2、包含文件标签
主要功能:实现对文件的包含(类似于require或include)
基本语法:
<include file="模板文件名" />
特别注意:include标签中模板文件的路径是基于项目的入口文件(index.php)位置。

案例:实现项目首页功能
① 在View视图模板中,创建一个Public文件夹,作为公用文件夹
② 创建两个公用模板(header.html与footer.html)
③ 复制项目公用头部代码到header.html模板中
复制项目公用底部代码到footer.html模板中
④ 使用include内置标签包含文件

虽然以上程序可以完成对模板的包含,但是其路径过于复杂,简化之:

附加参数的使用

在模板页面,可以使用[参数名称]来实现对数据的调用

3、导入资源文件(css/js)
在原生代码中,我们进行文件导入都是通过link或script标签,如果使用的是ThinkPHP模板引擎,我们可以使用import标签实现对文件进行导入,基本语法:
<import type='type' file='file' />
参数说明:
type:导入资源文件类型,如css或js,默认为js
file:要导入的资源文件路径
特别说明:其file属性从Public资源文件夹开始算起的,使用命名空间的方式进行导入
原生代码CSS:

原生代码JS:

import标签示例代码:
1)css文件导入

2)js文件导入

特别注意:使用import标签导入资源文件时,其文件名称中一定不能出现点号。
4、volist标签(重要)
主要功能:实现对数组元素的遍历操作,基本语法:
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
参数说明:
name :必选,要遍历的数组元素
id :必选,每次遍历时,系统会将遍历结果放入变量id中
offset:要输出数据的offset(偏移量)
length:输出数据的长度,需要指定offset
key:循环索引,默认从1开始
例1:使用volist遍历一维数组

例2:使用volist遍历二维数组

例3:附加属性的使用

5、foreach标签(重要)
<foreach name="list" item="vo" >
{$vo.id}
{$vo.name}
</foreach>
参数说明:
name:必选,要遍历的数组元素
item:必选,每次遍历时,系统会自动将当前遍历结果放入变量item中
key:每次遍历时,系统会将当前元素的键值放入变量key中
例1:使用foreach变量一维数组

例2:使用foreach遍历二维数组

6、if标签(重要)
主要功能:实现if条件的判断与执行,基本语法:
<if condition="$name eq 1">
value1
<elseif condition="$name eq 2"/>
value2
<else />
value3
</if>
在实际项目开发中,对于等号可以使用==方式,但是对于如大于号、小于号等特殊符号,必须采用以下标签进行替换操作:

示例代码:

7、使用php标签
主要功能:允许我们在模板文件中直接使用php源代码(慎用)
ThinkPHP引擎方式:<php>echo "hello";</php>
PHP原生代码方式:<?php echo "think";?>

如果想禁止在模板页面中使用PHP源代码,可以使用以下配置参数:
TMPL_DENY_PHP => true :禁用PHP脚本

测试可知,以上配置参数只能禁用PHP原生代码,而无法禁用内置php标签!
ThinkPHP中的内置标签的更多相关文章
- Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...
- ThinkPHP 模版中的内置标签
内置标签就是模版引擎提供的一组可以完成控制.循环和判断功能的类似HTML语法的标签. 一.判断比较: 1.if标签进行条件判断 //if语句的完整格式 <if condition=&qu ...
- thinkphp中的内置操作数据库与mysql中的函数汇总
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...
- thinkphp 内置标签volist 控制换行
thinkphp 内置标签volist 控制换行 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行 ...
- thinkphp内置标签简单讲解
thinkphp内置标签简单讲解 1.volist循环 name 需要遍历的数据 id 类似于foreach中 value offset 截取数据起始位置 length 截取数据的个数 mod 奇偶数 ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- django中模板变量与内置标签以及过滤器
本文参考 官方文档 . 一 模板变量 格式: {{ variable_name }} variable_name 命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...
- thinkphp5内置标签
thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 内置标签 变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就需要借助模板 ...
- javascript中的内置对象
2015.12.1 javascript中的内置对象 复习: 1.js中的内置函数 alert prompt write parseInt parseFloat eval isNaN document ...
随机推荐
- spring mvc 3.0 ModelAndView模型视图类
见名知意,从名字上我们可以知道ModelAndView中的Model代表模型,View代表视图.即,这个类把要显示的数据存储到了Model属性中,要跳转的视图信息存储到了view属性.我们看一下Mod ...
- cocos2d-x学习之自动内存管理
一.自动内存管理 1)概述 C++语言默认是没有提供自动内存管理的.使用者需要自己分配,自己释放.在cocos2d-x里提供了一个自动内存管理的方案.主要是通过CCObject来提供的,用户只要继承了 ...
- 云服务器 ECS Linux 服务器修改时区的两种方式
在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...
- windows和linux中检查端口是否被占用
一.windows 1.查询端口占用情况 cmd > netstat -ano 2.查询8080端口是否被占用 cmd > netstat -ano|findstr 8080 3.查询哪个 ...
- 关于linux内核模块Makefile的解析
转载:http://www.embeddedlinux.org.cn/html/yingjianqudong/201403/23-2820.html Linux内核是一种单体内核,但是通过动态加载模块 ...
- Spring mvc编码配置
Spring3 MVC也带有自己的编码: jar包:org.springframework.web-3.0.0.RELEASE.jar 只需要在web.xml配置即可: <!-- spring ...
- 解决eclipse下pydev的unresolved import的问题
有些模块,比如PIL,已经装入过,但是在pydev中无法自动提示,甚至有报 unresolved import的问题,虽然不会引起运行时问题,但是无法实现自动提示,还是一件很麻烦的事情. 下面有个 ...
- 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9394465 作者:七十一雾央 新浪微博:http:// ...
- sourcetree下回退
上篇 最后展示了再命令行下回退的功能,再来看看sourcetree下如何操作 新建 新建文本文档.txt,添加一行"第一次“,并提交 1.添加一行"第二次",现在修改只在 ...
- ShowModal在FireMonkey移动应用程序对话框
This is the only code that changes between the first and second code snippets: dlg.ShowModal(procedu ...