Thinkphp回顾(五)之前台模板中的基本语法
一、导入CSS和JS文件 的三种方式 (了解)
1、link方式(常规)
<link rel=’stylesheet’ type=’text/css’ href=’__PUBLIC__/Js/test.css/> <script src='__PUBLIC__/Js/test.js'></script>
//导入Public文件夹下面的Js目录中的test.js文件和Css文件夹下的test.css文件
2.import
<import type='js' file='Js.test' />
//导入Public文件夹下面的Js目录中的test.js文件,import标签可以省略type属性,默认就是Public文件夹下的Js文件夹,且默认是js文件。
<import type='css' file='Css.test' />
//可以更改默认文件夹 设置basepath属性
<import type='js' file='Js.my' basepath='./Other'/>
3.load
//方法可以自动检测导入的文件类型
<load href='__PUBLIC__/Js/test.js' /> <load href='__PUBLIC__/Css/test.css' />
二、分支结构
在前天模板上if else等都是以标签形式存在的(重点)
1、if($age<18) {
未成年
}elseif($age=18){
青春期
}else{
成年
}
在前台模板中的代码如下:
<if condition='$age lt 18'> 未成年 <elseif condition='$age eq 18'/> 青春年少 <else /> 成年 </if>
解析:condition就是if的条件,注意if是个双标签,而else和elseif是个单标签,另外大家会发现我们用eq代替了等于,lt代替了小于因为在前天模板中是不能用=,<这些的,下面是详细的替代方式,都是以英文简写形式的,
> gt // greater than < lt //less than == eq //equal <= elt // equal less than >= egt //equal greater than != neq //not equal === heq //恒等于的h理解为汉语恒的首字母比较好理解,其实h是一个非常负载的单词,随意我们就不写了。 !== nheq //no
同理得switch的用法,name中的值也就是switch中那个要变的值
<switch name='number'> <case value='1'>一个和尚挑水吃</case> <case value='2'>两个和尚台水吃</case> <case value='3'>三个和尚没水吃</case> <default/> 这里是默认值 </switch>
三、循环结构(重点)
1.for
下面的for语句相当于for($i=0;$i<10;1++){ $j abc }
<table border='1' width='500'>
<for start='0' end='10' name='i' step='1' comparison='lt'>
<tr><td>{$i}</td><td>abc</td></tr>
</for>
</table>
解析:1、tart,end不用说,也就是起始值和结束值;name值默认为i,在下面打上$i可以直接输出输出的序号值,从0开始2、step是间隔多少的意思,里面的值为正,则为几++,为负则为几——; 3、comparison中的值是for语句里第二句的符号,也就是小于号; 2.volist
<volist name='list' id='v'>
{$v.username}<br/>
</volist>
volist循环输出从后台传来的list值,然后再这里命名为v,在下面用$v.名称,输出对应的值。
3.foreach
<foreach name='list' item='v' key='k'>
{$k}-------{$v}<br/>
</foreach>
Foreach同上,只不过重新存为数组用item命名,key为键值。
四、特殊标签
1、比较标签
eq或者 equal 等于
neq 或者notequal 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
heq 恒等于
nheq 不恒等于
2.范围标签
in
<in name='n' value='9,10,11,12'>在这些数字里面<else/>不在这些数字的范围内</in> <notin name='n' value='9,10,11,12'>在这些数字里面<else/>不在这些数字的范围内</in>
between
<notbetween name='n' value='1,10'>{$n}在1-10之间<else/>{$n}不在1到10之间</between>
3.present(3-7了解)
标签来判断模板变量是否已经赋值,
<present name='m'>m有赋值<else/>m没有赋值</present>
4.empty
empty标签判断模板变量是否为空,
<empty name='n'>n为空赋值<else/>n有值</empty>
5.defined
判断常量是否已经定义,成功返回里面的内容
<defined name="NAME">NAME常量已经定义</defined>
6.define
在模板中定义常量
<define name="变量名"value="值"/>
7.assign
模板中变量赋值
<assign name="var" value="123" />
五、其他标签使用
1、在模板中直接使用PHP代码,在模板中用<php></php>之间可以直接写php代码
<php> echo "可以直接写php代码" </php>
Thinkphp回顾(五)之前台模板中的基本语法的更多相关文章
- ThinkPHP 3.1.2 模板中的基本语法<1>
# # ThinkPHP 3.1.2 模板中的基本语法 一.传统的方式,导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='tex ...
- Vue基础系列(三)——Vue模板中的数据绑定语法
写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...
- Django(五)在模板中使用静态文件
location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\se ...
- ThinkPHP 3.2.2 视图模板中使用字符串截取函数
在项目的 Common/function.php 文件里( 项目结构如图 ) 添加函数: /*字符串截断函数+省略号*/ function subtext($text, $length) { if(m ...
- ThinkPHP 3.1.2 模板中的基本语法<2>
本节课大纲: 一.导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='text/css' href='__PUBLIC__/Css ...
- tp3.2中前台模板中日期时间的转换
{$vo.create_time|date='Y-m-d',###} 其中###是占位符
- Django模板语言(常用语法规则)
Django模板语言 The Django template language 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签 ...
- Blade模板引擎教程-常用语法格式
打印变量或者默认值,这个语法会自动转义变量内容中的html标记,使得html标签原样输出Welcome, {{ $name or 'California' }} 打印变量原始内容,不进行转义的用法{! ...
- ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...
随机推荐
- 基于fab自动化部署
fab是一个python库,强大好使,可以做很多帮助你减轻工作量的事情,比如在多台服务器上部署web项目,这里就讲讲使用它简单的方法来执行部署的过程. 关于fab的安装的基本使用,网上一搜一大把,内容 ...
- 怎么搭建DC+SCCM 域环境(一)
需要的软件: 1. SCCM 2012 SP1 2. SQL Server 2012 3. System ISO 4. ADK 环境搭建顺序: 1. 安装DC和SCCM 机器,并配置需要的IP.DNS ...
- JavaWeb三大组件——过滤器的运行机制理解
过滤器Filter 文章前言:本文侧重实用和理解. 一.过滤器的概念. lFilter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有 ...
- iOS 导航栏返回的相关跳转
导航条跳转页面的考虑 对于用navigationcontroller来跳转页面的时候,其实是执行堆栈的进栈和出栈的操作,要想释放内存,那么在来回跳转的时候,就要考虑几个问题了 1 A =>B=& ...
- Windows Internal Database Service Pack 4 x64 Edition (KB2463332)安装失败
系统是Windows Server 2008 R2,补丁Windows Internal Database Service Pack 4 x64 Edition (KB2463332)总是安装失败,W ...
- [Android Tips] 24. Gradle listing project dependencies
./gradlew app:dependencies or install this Android Studio Plugin https://github.com/rholder/gradle-v ...
- Oracle分页查询
1.无ORDER BY排序的写法.(效率最高) 经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然! sql语句如下: SELECT * FROM (Sel ...
- csuoj 1394: Virus Replication
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1394 1394: Virus Replication Time Limit: 1 Sec Mem ...
- git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...
- BufferedReader与Scanner的区别
在Java中,我们都知道Java的标准输入串是System.in.但是我们却很少在Java中看到谁使用它,这是因为我们平时输入的都是一个字符串或者是一个数字等等.而System.in提供的read方法 ...