smarty中section的使用

smarty的使用程中,有很多候需要将一个数组输出到模板中来理,以下将演示如何将一个索引(index)数关联assocaite)数面中展出来。

本文中假有如下一个索引数

1、索引数

1     $people = array('tony','sweety','abc','four');
2     $smarty->assign('people',$people);

 

在模板中示:

1 {section name=n loop=$people}
2     name:{$people[n]}<br/>
3 {/section}

这样在模板中就可以示出个数的内容了。果如下:

1 name:tony
2 name:sweety
3 name:abc
4 name:four

 

 

2关联

 

1     $arr = array(
2         array('id'=>1,'title'=>'title1'),
3         array('id'=>2,'title'=>'title2'),
4         array('id'=>3,'title'=>'title3')
5     );
6     
7     $smarty->assign('news',$arr);

 

 

在模板中程如下

 

 1 {section name=sn loop=$news}
 2     {if $smarty.section.sn.first}
 3         <table>
 4         <th>id</th>
 5         <th>title</th>
 6     {/if}
 7     <tr>
 8         <td>{$news[sn].id}</td>
 9         <td>{$news[sn].title}</td>
10     </tr>
11     {if $smarty.section.sn.last}
12         </table>
13     {/if}
14 {sectionelse}
15     there is no news.
16 {/section}

 

 

果如下(是一个表格的子,以下示的没有加式):

1 id title 
2 1 title1 
3 2 title2 
4 3 title3 

 

可以看出,无是索引关联用起来都是很方便。下面介section中各个属性的明:

1section中的属性

name:(必section的名称只是示循唯一的名字没有特,前面没有$符号;

loop: (必)是在php声明中的量名称,用来示是循哪一个数(即要循名)需要使用$

start: (可)循环执行的初始位置. 如果该值为负数,始位置从数的尾部算起. 例如:如果数中有7个元素,指定start-2,那指向当前数的索引5. 非法(了循的下限)将被自动调最接近的合法.

step: (可)如其它言的循,是一个步长,如果为负数,倒序循

max:(可)循的最大下,如果是1只循1次,如果22次;

show:(可)默认为true示。如果置了{sectionelse}。表示如果数没有内容的部分的内容;如果showfalse则显部分。如果没有{sectionelse}

 

2smartysection中的

index:用于示当前循的索引,从0(如果指定了start属性,那该值开)次加1(如果指定了step属性,那该值决定).如果没有指定stepstart属性,此的作用和iteration似,只不0而已.

index_prev:用于示上一个循索引. 环开,此值为-1.

index_next:用于示下一个循索引. 环执行到最后一次,此仍然比当前索引1(如果指定了step,取决于此).

iteration:用于示循的次数.iteration 不像index属性受startstepmax属性的影响,该值总是从1(index是从0始的).rownum iteration名,两者等同.

first:如果当前循第一次行,first true.

last:如果当前循环执行到最后一次,last true.

rownum:用于示循的次数. 属性是iteration名,两者等同.

loop:用于上一次循环时的索引. 该值可以用于循内部或循环结束后.

show: section 的参数. show 值为尔值 true false. 如果 false将不. 如果指定了 sectionelse 子句,字句是否示也取决于该值.

total:用于环执的次数. 可以在循中或束后用此属

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值