原文: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. CF 338E Optimize! (线段树)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 出题人题解没看懂...囧. 然后看了下touris ...

  2. Study notes for Sparse Coding

    Sparse Coding Sparse coding is a class of unsupervised methods for learning sets of over-complete ba ...

  3. MySql连接问题

    今天想通过命令连接到另外一台主机的Mysql 命令: mysql -h ip -u username -p EnterPassWord: password 连接成功

  4. WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

    原文:WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话 ...

  5. Javascript 调试利器 Firebug使用详解

    Javascript 调试利器 Firebug使用详解 有时候,为了更清楚方便的查看输出信息,我们可能需要将一些调试信息进行分组输出,那么可以使用console.group来对信息进行分组,在组信息输 ...

  6. uva 10127 - Ones(数论)

    题目链接:uva 10127 - Ones 题目大意:给出n,问说者少要多少为1才干够整除n. 解题思路:等于是高精度取模,直到余数为0为止. #include <cstdio> #inc ...

  7. EasyUI - 后台管理系统 - 登陆模块

    效果: --- --- Html代码: <div id="login"> <p>账户:<input type="text" id= ...

  8. GDI GDI+ 的区别

    GDI+是GDI的下一个版本,它进行了很好的改进,并且易用性更好.GDI的一个好处就是你不必知道任何关于数据怎样在设备上渲染的细节,GDI+更好的实现了这个优点,也就是说,GDI是一个中低层API,你 ...

  9. boost::asio async_write也不能保证一次发完所有数据 二

    只有看boost源码才能弄明白发生了什么.首先我是将vector里面写入了数据,然后用boost::asio::buffer将vector构造成了mutable_buffer_1对象. 参考该文档的重 ...

  10. http协议与web本质

    当你在浏览器地址栏敲入“http://www.csdn.net/”,然后猛按回车,呈现在你面前的,将是csdn的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员,我想 ...