条件判断语句(这些语句都是写在smarty模板中的)
{if $name eq 'Tom'}
Welcome Sir
{elseif $name eq 'Wilma'}
Welcome Ma'am
{else}
Welcome,whatever yu are
{/if}
注意:以if开始,以/if结尾,格式固定;
eq修饰符,相当于'=='
neq ,相当于'!=';
gt,相当于'>';
lt,相当于'<';
循环语句section
1. 功能多,参数多。smarty用来做循环操作的函数之一
2.基本属性name,loop
例如数组是二维数组$arr = array( array('age'=>'23','job'=>'computer'), array('age'=>'20','job'=>'music'));
{section name=mark loop=$arr}
{$arr[mark].age}
{$arr[mark].job}
<br/>
{/section}
可以看出,格式是固定的;name相当于赋值下标,loop指定要循环输出的数组
3.section其他属性
3.1start 循环开始的位置;
3.2step 决定循环的步长,例如step=2,只会遍历下标为0,2,4等的元素
3.3max 设定循环的执行次数
3.4show 决定是否显示该循环
循环语句foreach
语法接近PHP,而section与PHP语法相差甚大
但是只能出来简单的数组,推荐使用
{foreach item=ab from=$arr}
{$ab.age}
{$ab.job}
<br/>
{/foreach}
注意:from指定循环的数组,将每一次循环出来的数据赋值给item指定的变量a b
$arr是二维数组,ab是$arr的值、是个一维数组
【在smarty模板中,如果要输出变量一定要$符号】
smarty引入文件
include 把别的模板引入当前模板
语法:{include file="test01.tpl" arg1=' ' arg2=' '}
解读:
1.file指定引入的模板位置;引入的模板,相当于成为了当前模板的一部分,当当前模板展示时,引入模板也会展示;
2.除了file参数外,其他的参数名称不固定;这部分参数变量只能在被引入的的模板中调用,【当前模板不能调用】!