一、导入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回顾(五)之前台模板中的基本语法的更多相关文章

  1. ThinkPHP 3.1.2 模板中的基本语法<1>

    # # ThinkPHP 3.1.2 模板中的基本语法 一.传统的方式,导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='tex ...

  2. Vue基础系列(三)——Vue模板中的数据绑定语法

    写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...

  3. Django(五)在模板中使用静态文件

    location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\se ...

  4. ThinkPHP 3.2.2 视图模板中使用字符串截取函数

    在项目的 Common/function.php 文件里( 项目结构如图 ) 添加函数: /*字符串截断函数+省略号*/ function subtext($text, $length) { if(m ...

  5. ThinkPHP 3.1.2 模板中的基本语法<2>

    本节课大纲: 一.导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='text/css' href='__PUBLIC__/Css ...

  6. tp3.2中前台模板中日期时间的转换

    {$vo.create_time|date='Y-m-d',###} 其中###是占位符

  7. Django模板语言(常用语法规则)

    Django模板语言 The Django template language 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签 ...

  8. Blade模板引擎教程-常用语法格式

    打印变量或者默认值,这个语法会自动转义变量内容中的html标记,使得html标签原样输出Welcome, {{ $name or 'California' }} 打印变量原始内容,不进行转义的用法{! ...

  9. ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)

    1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...

随机推荐

  1. EJB之Timer

    EJB Timer 要么: Annotation @Schedule 或者方法前声明@Timeout 要么: 在部署描述中定义timeout-method 如果是使用@Schedule, Timer在 ...

  2. Spark会把数据都载入到内存么

    转载自:https://www.iteblog.com/archives/1648 前言: 很多初学者其实对于Spark的编程模式还是RDD这个概念理解不到位,就会产生一些误解.比如,很多时候我们常常 ...

  3. 纯手写SpringMVC架构,用注解实现springmvc过程

    1.第一步,首先搭建如下架构,其中,annotation中放置自己编写的注解,主要包括service controller qualifier RequestMapping 第二步:完成对应的anno ...

  4. iOS 面试题(三):为什么 weakSelf 需要配合 strong self 使用 --转自唐巧

    问题 继续回答昨天的问题第二问. 我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码: __weak typeof( ...

  5. Zookeeper:通过yarn实现大型分布式管理系统

    http://www.cnblogs.com/leesf456/p/6063694.html

  6. PAT自测_打印沙漏、素数对猜想、数组元素循环右移、数字加倍重排、机器洗牌

    -自测1. 打印沙漏() 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号 ...

  7. MICAPS数据文件格式

    MICAPS系统的数据结构是建立在文件系统基础上的.其特点是: l  利用目录来区分不同的数据来源.要素和层次,即不同的数据来源.要素和层次的数据要放在不同的目录中.同一目录中的数据只能有时次或时效上 ...

  8. 数据结构看书笔记(二)--算法(Algorithm)简介

    算法:是解决问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作. 算法的特性:算法具有五个特性:输入.输出.有穷性.确定性.可行性 输入输出:算法具有零个或多个输入:至 ...

  9. grunt 入门学习

    前端工作流,Grunt上手指南 Posted@2013-04-20 7:15 a.m. CategoriesGrunt ,  javascript 我想先花点时间回忆一下作为一个前端需要做的工作(Lo ...

  10. 「JavaScript」四种跨域方式详解

    超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSON ...