时间:2022-10-30 浏览量: 收藏
模板标签 模板文件可以包含普通标签和标签库标签,标签的定界符都可以重新配置。
普通标签用于变量输出和模板注释,普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出。
标签库标签可以用于模板变量输出、文件包含、条件控制、循环输出等功能,而且完全可以自己扩展功能。 配置文件修改:
变量输出 :
在控制器中我们给模板变量赋值
$this->assign('host','www.xmsmwl.cn'); return $this->fetch();
然后就可以在模板中使用:
网址:{$host}
注意模板标签的{和$之间不能有任何的空格,否则标签无效。
数组变量使用:
$user['name'] = 'Thinkphp'; $user['email'] = 'admin@thinkphp.cn'; $view->assign('user',$user);
在模板中我们可以用下面的方式输出
Name:{$user.name} Email:{$user.email}
或者用下面的方式也是有效:
Name:{$user['name']} Email:{$user['email']}
函数使用
往往需要对模板输出变量使用函数,可以使用:
{$user.name|md5} {:md5($user.name)}
如果函数有多个参数需要调用,则使用需要用###标识变量位置
{$create_time|date="y-m-d",###}{:date(‘y-m-d’,$create_time)}
也可以直接这样写使用:加函数名使用
{:substr(strtoupper(md5($name)),0,3)}
默认值使用:
我们可以给变量输出提供默认值
{$user.nickname|default="这家伙很懒,什么也没留下"}
条件判断IF标签使用:
IF标签可以用来定义复杂的条件判断,例如:
{if condition="($name eq 1) OR ($name gt 100) "} value1 {elseif condition="$name eq 2" /} value2 {else /} value3 {/if} //注意:在condition属性中可以支持eq等判断表达式 //不支持带有”>”、”<”等符号的用法,因为会混淆模板解析
可以在condition属性里面使用php代码,例:
{if condition="count($arr) gt 5"} 数组元素个数大于5个 {else /} 数组元素个数小于5个 {/if}
运算符应用:
我们可以对模板输出使用运算符,包括对“+”“-” “*” “/”和“%”的支持。
三元运算应用:
{$status? '正常' : '错误'}
原样输出:
可以使用literal内置标签来防止模板标签被解析:
{literal} Hello,{$name}! {/literal}
循环输出标签
VOLIST标签:
Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,
{volist name="list" id="vo"} <p>{$vo.id}:{$vo.name}</p> {/volist}
如果没有指定key属性的话,默认使用循环变量i,
{volist name="list" id="vo" key="k" } {$k}.{$vo.name} {/volist}
支持输出查询结果中的部分数据
{volist name="list" id="vo" offset="5" length='10'} {$vo.name} {/volist}
输出偶数记录:mod显示的行数;没显示2行再从1开始
{volist name="list" id="vo" mod="2" } {eq name="mod" value="1"} {$vo.name} {/eq} {/volist}
FOREACH标签
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性
{foreach $list as $vo} {$vo.id}:{$vo.name} {/foreach}
name表示数据源 item表示循环变量。
{foreach name="list" item="vo" key="k"} {$vo.id}:{$vo.name} {/foreach}
FOR标签
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }{/for}
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt即为小于的意思,name的默认值是i,步进值的默认值是1。
switch标签:
多条件标签
{switch 变量名} {case 1}值为1{/case} {case 1}值为2{/case} {case 1}值为3{/case} {default /}值为其他 {/switch}
case属性支持多个条件的判断
对于case属性多个条件的判断,使用”|”进行分割
{switch data.sex|intval} {case 16|17|18}值为16,17,18其中一个{/case} {default /}值为其他 {/switch}
比较标签:
eq或者 equal:等于
neq 或者notequal:不等于
gt:大于
egt:大于等于
lt:小于
elt:小于等于
heq:恒等于
nheq:不恒等于
比较标签的用法基本是一致的,区别在于判断的条件不同,格式如下:
{比较标签 name="变量" value="值"}内容{/比较标签}
in标签与range标签:
in 标签 in 标签用于某个模板变量是否在某个范围之内,格式如下:
{in name="变量名" value="值1,值2,..."}在value值范围输出内容{/in}
notin 标签 对应的notin 标签,为 in 标签的反义,即判断不在某个范围内:
{notin name="变量名" value="值1,值2,..."}不在value值范围输出内容{/notin}
in和notin两个标签合并起来等同于:
{in name="变量名" value="值1,值2,..."}在value值范围输出内容{else /}不在value值范围输出内容{/in}
range 标签 in 和 notin 标签也可以使用 range 标签来替代:
{range name="变量名" value="值1,值2,..." type="in" }在value值范围输出内容{/range}
上面的例子相当于 in 标签,当 type 属性的值为 notin 时就相当于 notin 标签。
RELATED RECOMMEND
2022-10-30
企业网站导航设计是网站中一个很重要的因素,一个合理的导航设计不但利于搜索引擎优化,还对提升用户体验至关重要,迅速了解自己所处的位置,这对提高用户的转化率十分有用。在网站建设中做好各类导航设计对网站后期的优化推广十分有利。 下面我们就来看看在网站设计制作中,做好导航设计的相关几点。 1、辅助导航。 为用户提供一个直观的展示,让用户知道自己所在的网站位置,这样可以让每一级的位置名称的有链接可会,每一个网页都必须包含辅助导航以及左上角的网站的logo标识。 2、网站logo链接。 在网站设置中,在每一个出现网...
2022-10-30
企业如何选择网络公司建站的常见问题,世敏网络总结以下几点:1、企业会以自己建站的要求,比如需要哪些功能板块,界面的风格等直接来衡量各网络公司报的费用,很多具体细节的东西企业并不知道,这样一些网络公司可能就会以最简单的方式来做,这样省时、省力,因为很多
2022-10-30
厦门网站建设包括网站策划、网页设计、网站功能、网站优化技术、网站内容整理、网站推广、网站评估、网站运营、网站整体优化、网站改版等。网站建设的前期准备包括了前期网站定位、内容差异化、页面沟通等战略性调研,这个过程需要网站策划人员、美工设计人员、PHP程