php 自定义模板标签,

  php 自定义模板标签,

  1.如果标签作出条件判断。

  //if语句的完整格式

  If condition=$user eq 蜡笔小新

  小新

  Elseif condition=$user eq 黑崎一护 /

  草莓

  else /

  错误

  /如果

  //PHP函数可以用在condition条件中。

  If condition= MB _ substr ($ user,0,3, UTF-8) EQ 蜡笔小

  //在条件条件中使用point语法,智能判断数组或对象。

  If condition=$data.user eq 蜡笔小新

  //在条件条件中使用冒号语法,直接使用对象。

  If condition=$data:user eq 蜡笔小新

  //条件条件中使用了系统变量。

  If condition=$Think.get.user eq 蜡笔小新

  2.开关标签

  //name的值和IF语句一样,可以是变量、数组、对象、函数或系统变量。

  开关名称=用户(变量不需要$符号)

  Value=蜡笔小新小新/case

  Value=黑崎一护一护/箱

  默认/错误

  /开关

  3.比较标签

  标签含义

  Eq或equal等于

  Neq或notequal不等于

  Gt大于

  Egt大于或等于

  它小于

  Elt小于或等于

  Heq等于

  Nheq不等于

  //控制器变量$user=蜡笔肖鑫,输出肖鑫。

  Eq= user value=蜡笔小新 shinchan /eq(变量不需要$符号)

  PS:比较标签还提供了统一的标签比较,比较类型通过type属性完成。

  //比较统一方法

  compare type= eq name= user value=蜡笔小新 shinchan /compare(变量不需要$符号)

  4.范围判断标签

  PHP提供了一组范围判断标签:in、notin、between和notbetween,都是用来判断一个变量是否在某个范围内。

  //如果id为1,2,3,则输出任意一个

  In= id value= 1,2,3 id在/in范围内

  //在标记中,支持else

  in name=idvalue=1,2,3

  Id在范围内

  else/

  Id超出范围。

  /英寸

  //notin标签,正好相反

  Not name= id value= 1,2,3 ID超出范围/notin

  //标记之间,从哪里到哪里的范围

  Between name=idvalue=1,10 id在/between范围内

  //notbetween标签,从where到where的范围

  Not between name= id value= 1,10 ID超出范围/notbetween

  Ps://range标签,可以统一in、notin、between和notbetween。

  id中的name= id value= 1,2,3 type=在范围/范围内

  Ps://name值可以是系统变量

  In= think.get.id value= 1,2,3 ID在/in范围内(变量不需要$符号)

  //value value可以是变量,也可以是系统变量。

  in= ID value= $ think . get . range ID在范围/in内(变量需要$符号)

  5.判断变量的标签。

  //判断变量是否已经赋值,然后输出。空字符串和0也被赋值。

  Present name=user 用户已被分配/在场

  //判断变量是否已经赋值,未创建或者赋值为null,这些都是没有值的。

  Notpresent name=user 用户还没有值/notpresent

  //确定变量是否已经赋值,并组合

  当前名称=用户

  用户已被分配

  else /

  未分配用户。

  /目前

  //确定变量是否已经赋值,以及系统变量

  present name= think . get . user $ _ get[ user ]已被分配/出席

  底层的PS:present标记调用isset函数。

  //判断变量是否为空,如果为空则输出(null、0、空字符串都不赋值)

  空名称=用户用户为空

  //判断变量是否为空,如果不是,则输出。

  Notempty name=user 用户不为空/notempty

  //确定变量是否为空,并组合

  空名称=“用户”

  用户为空。

  else /

  用户不为空。

  /空的

  //判断变量是否为空,系统变量

  empty name= think . get . user $ _ get[ user ]为null/空。

  //判断常量是否定义,输出是否定义。

  PS:empty标签底部调用empty函数。

  Definedname=APP_PATH APP_PATH常量已定义/已定义

  //确定是否定义了常数,但没有定义输出。

  未定义name= app _ path app _ path常量未定义/未定义

  //确定常量是否定义和组合。

  定义的名称=应用程序路径

  APP_PATH常量已经定义。

  else /

  APP_PATH常量未定义

  /已定义

  第二,遍历循环

  1.列表标签

  Volist标签:通常用于查询数据集的结果输出,select()方法返回一个two。

  维度,可以使用volist标签直接输出。

  保险商实验所

  volist name=dataid=arr

  Li { $ arr . id }-{ $ arr . user }-{ $ arr . mail }/Li

  /volist

  /ul

  PS:这里name=data 中的数据是控制器为模板定义的数据变量,应该是对应的;这里

  id=arr 中的arr是将遍历循环的数组名,可以自定义。

  //从哪一行开始偏移,起始值为0,长度是多少行?

  volistname= data id= arr offset= 5 length= 10

  Li { $ arr . id }-{ $ arr . user }-{ $ arr . mail }/Li

  /volist

  //mod求当前余数,将当前索引除以2和1,输出偶数。

  volistname=dataid=vomod=2

  eq name=modvalue=1

  Li { $ VO . id }-{ $ VO . user }-{ $ VO . mail }/Li

  /eq

  /volist

  //如果没有数据,则用空填充

  volistname= data id= VO empty= no data

  Li { $ VO . id }-{ $ VO . user }-{ $ VO . mail }/Li

  /volist

  //empty属性不支持HTML直接输入,但是可以通过变量输出。

  $this- assign(empty , span没有数据/span );

  volistname= data id= VO empty= $ empty

  //通过键输出循环遍历的变量

  volistname=dataid=vokey=k

  李{ $ k }-{ $ VO . id }-{ $ VO . user }-{ $ VO . mail }/李

  /volist

  //如果不指定k,也可以用I变量输出

  李{ $ I }-{ $ VO . id }-{ $ VO . user }-{ $ VO . mail }/李

  //key变量,可以直接输出索引值,从0开始

  李{ $ key }-{ $ VO . id }-{ $ VO . user }-{ $ VO . mail }/李

  2.foreach标签

  Foreach标记类似于Volist标记,只是Foreach标记更简单,没有其他属性。

  //仅支持key属性,但支持{$key}变量

  保险商实验所

  foreach name=dataitem=vo

  ul {$vo.id} - {$vo.user} /ul

  /foreach

  /ul

  3.对于标签

  For标签只是一个圆形标签。

  //从1到99循环

  forstart=1end=100

  {$i} br/

  /for

  除了必需的start和end值之外,还有三个可选值。比较大于或小于,默认值为lt。

  ( ) ;Name是循环变量名,默认值是I;Step是步长值,默认值为1。

  //完成表单

  for start= 1 end= 100 comparison= lt step= 2 name= k

  {$i} br/

  /for

  三。其他标签

  ThinkPHP模板中还有一些其他的标签。

  1.//在模板中定义变量。该值可以是变量($user)或系统变量($Think.get.user)

  assignname=varvalue=123 /

  {$var}

  //在模板中定义常数。该值可以是变量($user)或系统变量($Think.get.user)

  define NAME= MY _ NAME value= Lee /

  {$Think.const.MY_NAME}

  2.import标签可以智能导入js和css文件。

  //一般介绍方法

  script type= text/JavaScript src= _ _ PUBLIC _ _/js/index . js /script

  link rel= style sheet type= text/CSS

  href= _ _ PUBLIC _ _/CSS/index . CSS /

  //用import导入,js和css是目录

  import type= js file= js . index /

  导入类型=css 文件=css.index /

  //使用import导入,使用basepath修改默认路径

  import type= js file= js . index basepath=。/Common /

  3.load标签可以智能加载js和css文件。

  //使用load来加载

  load href= _ _ PUBLIC _ _/js/index . js /

  load href= _ _ PUBLIC _ _/CSS/index . CSS /

  系统还提供特殊的js和css标签用于加载。

  4.//使用特殊标签

  jshref= _ _ PUBLIC _ _/js/index . js /

  CSS href= _ _ PUBLIC _ _/CSS/index . CSS /

  5.PHP代码可以和标签混合在模板文件中,任何PHP语句都可以写在模板文件中。

  代码。

  //使用php标签

  服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  $ a=1;

  $ b=2;

  echo $ a $ b;

  /php

  //使用php语法

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  $ a=1;

  $ b=2;

  echo $ a $ b;

  ?

  6.如果您想按原样输出标签及其内容,可以使用文字标签。

  //按原样输出

  逐字的

  php echo 123/php

  /文字

php 自定义模板标签,