ThinkPHP - 模板引擎
1、导入css/js文件
- CSS文件
<!--<link rel="stylesheet" type="text/css" href="__CSS__/basic.css">-->
<!--<import type="css" file="Css.basic"/>-->
<!--<load href="__PUBLIC__/Css/basic.css" />--> - JS文件
<!--<script type="text/javascript" src="__JS__/basic.js"></script>-->
<!--<import type="js" file="Js.basic" />-->
<!--<load href="__PUBLIC__/Js/basic.js" />--> 2、判断语句
- if
· if else
<if condition="$sex eq '1'">
男性
<else />
女性
</if>
· if elseif
<if condition="$age lt '18'">
未成年
<elseif condition="$age eq '18'"/>
18岁
<else />
成年
</if> - switch
<switch name="num">//此时变量不加$
<case value="1">输出1</case>
<case value="2">输出2</case>
<default />默认项
</switch> 3、循环结构
- volist
<volist name="list" id="vo">
{$vo.id}
{$vo.name}
</volist>
- foreach 同volist相似
<foreach name="list" item="vo">
{$vo.id}
{$vo.name}
</foreach>
- for
· 格式
<for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" >
</for>
· 例子
<for start="1" end="100">
{$i}
</for>
· 转换结果
for ($i=1;$i<100;$i+=1){
echo $i;
} 4、特殊标签
- 比较标签
系统支持的比较标签以及所表示的含义分别是:
eq 等于
neq 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于
--------------------------------
<eq name="sex" value="1">男</eq>
<gt name="num" value="6">10>6</gt>
//这一种更好用
<compare name="num" value="5" type="GT">10>5</compare> - 范围标签
· in 比较范围
<!--<in name="id" value="1,2,3">输出内容1</in>-->
<!--<notin name="id" value="1,2,3">输出内容2 </notin>-->
<!--<in name="id" value="1,2,3">输出内容1<else/>输出内容2</in>--> · between 区间标签
<!--<between name="id" value="1,10">输出内容2</between>-->
<!--<notbetween name="id" value="1,10">输出内容1</notbetween>--> · Present 标签
present标签来判断模板变量是否已经赋值。 · Empty
empty标签判断模板变量是否为空。 · Define 标签
define标签进行常量定义。 · Defined 标签
defined标签判断常量是否已经有定义。 · Assign 标签
assign标签进行赋值。 5、其他标签
- PHP标签
<?php echo 'Hello,world!'; ?>
//建议使用这种
<php>echo 'Hello,world!';</php> - 修改左右定界符
在配置文件中
'TMPL_L_DELIM'=>'<{',
'TMPL_R_DELIM'=>'}>', 一、模板包含
- header.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" contect="text/html";charset=utf-8">
<meta name="keywords" content="[keywords]">
<meta name="description" content="[description]">
<title>[title]</title>
<load href="__PUBLIC__/Css/basic.css" />
</head>
<body> - footer.html
<load href="__PUBLIC__/Js/basic.js" />
</body>
</html> - index.html
<!-- 包含头文件 -->
<include file="Public:header" title="ThinkPHP框架" keywords="开源WEB开发框架" description="这里是描述内容" /> <div>
<p>nriotng</p>
</div> <!-- 包含尾部文件 -->
<include file="Public:footer" /> 二、模板渲染
1、自动开启模板渲染 设置配置文件
'LAYOUT_ON'=>true,//开启模板渲染
准备一个模板渲染页面,在页面中使用{__CONTENT__}接受具体模板页面的内容
如果在摸一个具体模板中不希望使用渲染模板,可以在页首添加{__NOCONTENT__}
2、不开启自动模板渲染可以在每一个具体页面的页首添加
前提是,已经有一个主要文件了。
<layout name='layout'/>
ThinkPHP - 模板引擎的更多相关文章
- thinkphp模板引擎
$this->assing('result'.$result) html页面代码 <foreach name='result item='vo'> <div>{$vo[' ...
- thinkPHP模板引擎案例
1.if <if condition="$vo.business eq LS"> 零售 <elseif condition="$vo.business ...
- ThinkPHP 模板判断输出--Switch 标签
ThinkPHP 模板引擎支持 switch 判断,根据不同情况输出不同的值,格式如下:<switch name="变量名" > <case value=& ...
- 如何让ThinkPHP的模板引擎达到最佳效率
默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎.内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用.ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高 ...
- ThinkPHP使用smarty模板引擎的方法
ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置.下面我们以Smarty模板引擎为例,给大家说说具体的操作流程! 首先去Smarty官网上下载一个Smarty.本站下载地址:http: ...
- ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—>系统变量”部分,在默认模板引擎中,语法如下: {$Think.session.user} //输出s ...
- thinkphp模板中foreach循环没数据的错误解决
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...
- thinkphp 模板调用数据
我自己写了个简单的模板是这样的 <!DOCTYPE html> <html> <head> <style> div { width:230px; hei ...
- ThinkPHP模板(一)
如何关闭ThinkPHP的模板缓存 ThinkPHP的模板缓存是无奈关闭的,因为内置的模板引擎是一个编译型的模板引擎,必须经过编译后生成一个可执行的缓存文件才能被执行.但是可以设置缓存的有效期,例如设 ...
随机推荐
- Product(大数相乘)
Description The problem is to multiply two integers X, Y. (0<=X,Y<10250) Input The input will ...
- BZOJ 1816: [Cqoi2010]扑克牌( 二分答案 )
二分答案.. 一开始二分的初始右边界太小了然后WA,最后一气之下把它改成了INF... -------------------------------------------------------- ...
- Sql日期时间格式转换 备用
sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...
- IOS 学习笔记(6) 控件 文本域(UITextField)的使用方法
UITextField控件的诸多特性都和UITextView相似,比如成为输入文本焦点时键盘自动显示,支持长按弹出动作选项,能够接收输入事件(开始输入,修改内容,结束输入和点击回车等). 1.特有的特 ...
- ForeignKey.on_delete
当由一个 ForeignKey 引用的对象被删除,默认情况下,Django模拟SQL的 ON DELETE CASCADE 来删除对象的 ForeignKey 关系.这样可以覆盖指定的 on_dele ...
- 扩展ASP.NET MVC HtmlHelper类
在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 Htm ...
- w3c标准的selection对象介绍
简介 术语 属性 方法 document.activeElement document.designMode = 'on'; 简介 selection是对当前激活选中区(即高亮文本)进行操作. 在非I ...
- 电感耦合非接触IC卡系统的EMI问题
射频识别(RFID)技术近年来发展迅速,并获得了广泛应用.但作为一种无线射频技术,其电磁兼容(EMC)性能也越来越受到人们的关注.RFID涉及的频率范围甚广,包括低于135kHz.13.56MHz.4 ...
- nodejs--express开发个人博客(2)
上一部分已经实现了视图的雏形,现在加上逻辑操作. 登陆.注册.文章发表都需要用到数据库的数据存取,用的比较多的就是mongodb了. MongoDB 是一个对象数据库,它没有表.行等概念,也没有固定的 ...
- Spring 拦截器实现事物
Spring+Hibernate的实质:就是把Hibernate用到的数据源Datasource,Hibernate的SessionFactory实例,事务管理器HibernateTransactio ...