先来看section中的属性
name:(必选) 是section循环的名称只是标示循环唯一的名字没有特别意义,前面没有$符号;
loop: (必选)是在php声明中的变量名称,用来标示是循环哪一个数组(即要循环数组名)需要使用$;
start: (可选)循环执行的初始位置. 如果该值为负数,开始位置从数组的尾部算起. 例如:如果数组中有7个元素,指定start为-2,那么指向当前数组的索引为5. 非法值(超过了循环数组的下限)将被自动调整为最接近的合法值.
step: (可选)如其它语言的循环,是一个步长,如果为负数,则倒序循环;
max:(可选)循环的最大下标,如果是1则只循环1次,如果为2则循环2次;
show:(可选)默认为true即显示。如果设置了{sectionelse}。表示如果数组没有内容的时候显示这部分的内容;如果show为false则显示这部分。如果没有设置{sectionelse}则不输出该数组。
我们先看一个例子,这是经常会用到的
1、循环一个简单的一维数组:
php代码
代码如下 | 复制代码 |
$data = array(1000,1001,1002); htm模板 {{section name=loop loop=$custid step=1}} seout="this.className='listout_box'"> {{$smarty.section.loop.rownum}} 城市 {{/section}} |
2、不用assign数组直接在smarty中循环:
代码如下 | 复制代码 |
//特别地设置了start,step属性用来控制循环 {section name=bar loop=21 max=6 step=-2} {$smarty.section.bar.index} {/section} //输出: 20 18 16 14 12 10 |
上面讲到的都是简单的,下面们来介绍关联数组
代码如下 | 复制代码 |
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 $arr = array( |
在模板中显示过程如下
代码如下 | 复制代码 | ||||
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 {section name=sn loop=$news}
{/if} {sectionelse} there is no news. {/section} |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级