日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

smarty中section的使用

發(fā)布時(shí)間:2024/1/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 smarty中section的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在smarty的使用過程中,有很多時(shí)候需要將一個(gè)數(shù)組輸出到模板中來處理,以下將演示如何將一個(gè)索引(index)數(shù)組和關(guān)聯(lián)(assocaite)數(shù)組在頁(yè)面中展現(xiàn)出來。

假設(shè)有如下一個(gè)索引數(shù)組:

1、索引數(shù)組

??? $people ? = ? array ( ' tony ' , ' sweety ' , ' abc ' , ' four ' );
??? $smarty -> assign( ' people ' , $people ); 在模板中顯示: {section?name=n?loop=$people}
? ? name:{$people[n]} < br />
{/section} 結(jié)果如下: name:tony
name:sweety
name:abc
name:four

2、關(guān)聯(lián)數(shù)組

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

?

在模板中顯示過程如下

{section?name=sn?loop=$news}
???? {if?$smarty.section.sn.first}
???????? < table >
???????? < th > id </ th >
???????? < th > title </ th >
???? {/if}
???? < tr >
???????? < td > {$news[sn].id} </ td >
???????? < td > {$news[sn].title} </ td >
???? </ tr >
???? {if?$smarty.section.sn.last}
???????? </ table >
???? {/if}
?{sectionelse}
???? there?is?no?news.
?{/section}

?

顯示結(jié)果如下(是一個(gè)表格的樣子,以下顯示的沒有加樣式):

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

可以看出,無論是索引還是關(guān)聯(lián)數(shù)組用起來都是很方便。下面介紹下section中各個(gè)屬性的說明:

1、section中的屬性

name:(必選) 是section循環(huán)的名稱只是標(biāo)示循環(huán)唯一的名字沒有特別意義,前面沒有$符號(hào);

loop: (必選)是在php聲明中的變量名稱,用來標(biāo)示是循環(huán)哪一個(gè)數(shù)組(即要循環(huán)數(shù)組名)需要使用$;

start: (可選)循環(huán)執(zhí)行的初始位置. 如果該值為負(fù)數(shù),開始位置從數(shù)組的尾部算起. 例如:如果數(shù)組中有7個(gè)元素,指定start為-2,那么指向當(dāng)前數(shù)組的索引為5. 非法值(超過了循環(huán)數(shù)組的下限)將被自動(dòng)調(diào)整為最接近的合法值.

step: (可選)如其它語言的循環(huán),是一個(gè)步長(zhǎng),如果為負(fù)數(shù),則倒序循環(huán);

max:(可選)循環(huán)的最大下標(biāo),如果是1則只循環(huán)1次,如果為2則循環(huán)2次;

show:(可選)默認(rèn)為true即顯示。如果設(shè)置了{(lán)sectionelse}。表示如果數(shù)組沒有內(nèi)容的時(shí)候顯示這部分的內(nèi)容;如果show為false則顯示這部分。如果沒有設(shè)置{sectionelse}則不輸出該數(shù)組。

?

2、smarty中section中的變量

index:用于顯示當(dāng)前循環(huán)的索引,從0開始(如果指定了start屬性,那么由該值開始),每次加1(如果指定了step屬性,那么由該值決定).如果沒有指定step和start屬性,此值的作用和iteration類似,只不過從0開始而已.

index_prev:用于顯示上一個(gè)循環(huán)索引值. 循環(huán)開始時(shí),此值為-1.

index_next:用于顯示下一個(gè)循環(huán)索引值. 循環(huán)執(zhí)行到最后一次時(shí),此值仍然比當(dāng)前索引值大1(如果指定了step,取決于此值).

iteration:用于顯示循環(huán)的次數(shù).iteration 不像index屬性受start、step和max屬性的影響,該值總是從1開始(index是從0開始的).rownum 是iteration的別名,兩者等同.

first:如果當(dāng)前循環(huán)第一次執(zhí)行,first 被設(shè)置為true.

last:如果當(dāng)前循環(huán)執(zhí)行到最后一次,last 被設(shè)置為true.

rownum:用于顯示循環(huán)的次數(shù). 該屬性是iteration的別名,兩者等同.

loop:用于顯示該循環(huán)上一次循環(huán)時(shí)的索引值. 該值可以用于循環(huán)內(nèi)部或循環(huán)結(jié)束后.

show:是 section 的參數(shù). show 取值為布爾值 true 或 false. 如果設(shè)置為 false,該循環(huán)將不顯示. 如果指定了 sectionelse 子句,該字句是否顯示也取決于該值.

total:用于顯示循環(huán)執(zhí)行總的次數(shù). 可以在循環(huán)中或執(zhí)行結(jié)束后調(diào)用此屬性.

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的smarty中section的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。