原文:thinkPHP 模板中的语法知识 详细介绍(十二)

本章节:介绍模板中的语法,详细的语法介绍

一、导入CSS和JS文件    ==>记住常量的是大写

1、css link 、js  scr

<link rel='stylesheet' type='text/css' href='__PUBLIC__/Css/test.css'/>

<script src='__PUBLIC__/Js/test.js'></script>

2.import(==默认是在Public文件夹下)

//导入Public文件夹下面的Js目录中的test.js文件,import标签可以省略type属性,默认就是js的

<import type='js' file='Js.test' /> 

<import type='css' file='Css.test' />



//可以更改默认文件夹 设置basepath属性

//就会在 根目录下找到 Other/Js/my.js,就不是默认的Public目录

<import type='js' file='Js.my' basepath='./Other'/>

3.load

//方法可以自动检测导入的文件类型

<load href='__PUBLIC__/Js/test.js' />

<load href='__PUBLIC__/Css/test.css' />

二、分支结构

1、if

<if condition='$sex eq "男"'>

男人哭吧哭吧不是罪!

<else />

做女人挺好的!

</if>





<if condition='$age lt 18'>

未成年

<elseif  condition='$age eq 18'/>

奋斗吧少年!

<else />

成年

</if>

>  gt

<  lt

== eq

<= elt

>= egt

!= neq

=== heq

!== nheq





<switch name='myAge'> //变量不要加 $  直接名字myAge 默认会加$

<case value='1'>太小啦你</case>

<case value='2'>你也太小</case>

<case value='30'>你还差不多</case>

<default/> 这里是默认值

</switch>

三、循环结构

1.for

<table border='1' width='500'>

  /*

   start(必须):循环变量开始值

    end(必须):循环变量结束值

    name(可选):循环变量名,默认值为i

    step(可选):步进值,默认值为1,自加!

    comparison(可选):判断条件,默认为lt

  */

就是我们php for中的i

<for start='0' end='10' name='j' step='2'>

<tr><td>{$j}</td><td>abc</td></tr>

</for>

//倒序

<for start='10' end='00' name='j' step='-2' comparison='gt'>

<tr><td>{$j}</td><td>abc</td></tr>

</for>

</table>





2.volist(数组遍历)

<volist name='list' id='v'>

{$v.username}<br/>

</volist>

//从下表=1的开始取2条

<volist name='list' id='v' offset='1' length='2'>

<{$v}><br>

</volist>

//遍历多维数组

<volist name='arrd' id='v'>

<{$v.id}>--<{$v.username}><br>

</volist>

3.foreach

<foreach name='list' item='v' key='k'>

{$k}-------{$v}<br/>

</foreach>



四、特殊标签(手册也有详细介绍哦)

1、比较标签

eq或者 equal 等于 

模板中://等同于if else的使用  number传的变量

<eq name='number' value='10'>

如果传的name=10我就输出这里也!

<else/>

不等于10我就输出这里哦!

</eq>

neq 或者notequal 不等于 

gt 大于 

egt 大于等于 

lt 小于 

elt 小于等于 

heq 恒等于 

nheq 不恒等于 





2.范围标签(类似if else逻辑和书写方式)

in      

<in name='number' value='9,10,11,12'>

在这些数字里面

<else/>

不在这些数字的范围内

</in>

<notin name='number' value='9,10,11,12'>

在这些数字里面

<else/>

不在这些数字的范围内

</notin>

between

//1-10之间

<notbetween name='number' value='1,10'>

{$number}在1-10之间

<else/>

{$number}不在1到10之间

</between>



notbetween-->标签来判断变量不在某个范围内


<notbetween name="id"value="1,10">输出内容1</notbetween>





3.present

标签来判断模板变量是否已经赋值,

<present name='m'>m有赋值<else/>m没有赋值</present>

4.Empty

empty标签判断模板变量是否为空,

<empty name='number'>number为空赋值<else/>number有值</empty>

5.Defined 

判断常量是否已经定义

6.Define

在模板中定义常量

7.Assing

在模板中给变量赋值



五、其他标签使用

1、*在模板中直接使用PHP代码

<php> echo "我是乐杨俊" </php>  //注意里面只能写php的代码,嵌入tp的标签是不能用的

2、建议更改左右定界符

在配置文件中改变

'TMPL_L_DELIM'=>'<{', //修改左定界符

'TMPL_R_DELIM'=>'}>', //修改右定界符

thinkPHP 模板中的语法知识 详细介绍(十二)的更多相关文章

  1. thinkPHP 模板中的语法

    一.导入CSS和JS文件   1.css link       js  scr        <link rel='stylesheet' type='text/css' href='__PUB ...

  2. 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型

    010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...

  3. HTML5中<template>标签的详细介绍

    HTML5中<template>标签的详细介绍(图文) 这篇文章主要介绍了HTML5中的template标签,是HTML5入门中的重要知识,需要的朋友可以参考 一.HTML5 templa ...

  4. Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)

    原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip   --> 将其下的 \ ...

  5. Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取

    1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...

  6. thinkphp模板中foreach循环没数据的错误解决

    从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...

  7. Linux操作系统中的文件目录结构详细介绍

    "/" :Linux文件系统的入口.也是最高一级的目录. "/bin":基本系统所需要的命令,功能和"/usr/bin"类似,这个目录下的文 ...

  8. (数据科学学习手札32)Python中re模块的详细介绍

    一.简介 关于正则表达式,我在前一篇(数据科学学习手札31)中已经做了详细介绍,本篇将对Python中自带模块re的常用功能进行总结: re作为Python中专为正则表达式相关功能做出支持的模块,提供 ...

  9. ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况

    在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—>系统变量”部分,在默认模板引擎中,语法如下: {$Think.session.user} //输出s ...

随机推荐

  1. C陷阱与缺陷代码分析之第2章语法陷阱

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 陷阱1 理解函数声明 作者提出一个问题:有一个首地址为0的函数,该函数返回值类型为void,没有参数.怎样用C语言的 ...

  2. Matlab,Visio等生成的图片的字体嵌入问题解决方法

    确保所有字体嵌入,是生成高质量学术论文的必要条件.但是在Windows下,总会遇到Matlab或Visio生成字体没有嵌入的问题,当然这个问题的解决办法有很多(例如,对于Visio可以这样做:直接拷贝 ...

  3. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  4. ubuntu 常用软件

    terminator:任意分割控制台 Sublime Text:文本编辑器,也是轻量级的IDE Wireshark:抓包工具 Okular:PDF等文档编辑工具 yEd:流程图等制图软件 Shutte ...

  5. QT在构造函数中退出程序

    原地址:http://www.tuicool.com/articles/RZnYze 在QT的界面类的构造过程中,如果想退出整个程序,暴力的做法是调用exit(-1)进行,另外一种不是那么暴力的方式如 ...

  6. Kendo UI开发教程(20): Kendo MVVM 数据绑定(九) Text

    Text绑定可以使用ViewModel来设置DOM元素的文本属性,如果需要设置input,textarea,或select的显示,需要使用value属性. 1 <span data-bind=& ...

  7. [ACM] 九度OJ 1553 时钟

    时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1733 解决:656 题目描写叙述: 如图,给定随意时刻,求时针和分针的夹角(劣弧所相应的角). 输入: 输入包括多组測试数据.每组測试数 ...

  8. FFMPEG H264/H265 编码延迟问题

    最新使用FFmpeg进行H264的编码时,发现视频编码有延迟,不是实时编码.进过一番研究发现,仅仅要在调用avcodec_open2函数 打开编码器时,设置AVDictionary參数就可以.关键代码 ...

  9. 使用JDBC进行数据库的事务操作(2)

    本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...

  10. Servlet的学习之Response响应对象(3)

    本篇来说明响应对象HttpServletResponse对象的最后一点内容. 首先来看响应对象控制浏览器定时刷新,在我的web应用[myservlet]中创建Servlet,在该Servlet中设置响 ...