volist:循环
{volist name="collection" id="v"}
{/volist}
if
{if condition=" a == 1 "}
{/else}
{/if}
这里有个点,就是当你使用 if - else if() 的时候!必须是这么写
{if condition=" a == 1 "}
{elseif}
//这里的elseif 的 if不能用空格分开
{/if}
for 循环
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt,name的默认值是i,步进值的默认值是1
notempty
就是判断是不是为空 跟 {empty name=" "} {/empty } 感觉没什么大的差别
{notempty name=""}{/notempty}
使用eq 或者neq判断 name中的条件格式与模板中输出变量的格式是一样的:
{eq name="$note|strip_tags=###|mb_substr=###,0,4" value="http"}
1
<p>{$note|strip_tags=###|mb_substr=###,0,4}</p>
{else /}
0
{/eq}
三元表达式
{$status? '正常' : '错误'}
{$info['status']? $info['msg'] : $info['error']}
{$info.status? $info.msg : $info.error }
5.0版本支持的三元表达式
{$varname.aa ?? 'xxx'}
// 表示如果有设置$varname则输出$varname,否则输出'xxx'。 解析后的代码为:
<?PHP echo isset($varname['aa']) ? $varname['aa'] : '默认值'; ?>
{$varname?='xxx'}
// 表示$varname为真时才输出xxx。 解析后的代码为:
<?php if(!empty($name)) echo 'xxx'; ?>
{$varname ?: 'no'}
// 表示如果$varname为真则输出$varname,否则输出no。解析后的代码为:
<?php echo $varname ? $varname : 'no'; ?>
{$a==$b ? 'yes' : 'no'}
// 前面的表达式为真输出yes,否则输出no, 条件可以是==、===、!=、!==、>=、<=