国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

smarty中常用方法實例總結

2024-05-04 23:38:36
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了smarty中常用方法,較為詳細的分析了smarty模板中較為常用的方法、屬性及環境變量等使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例總結了smarty中常用方法。分享給大家供大家參考。具體如下:

1. Smarty中foreach的index、iteration的使用

.index包含當前數組索引,從零開始。

index示例

 

 
  1. {* The header block is output every five rows *} 
  2. {* 每五行輸出一次頭部區塊 *} 
  3. <table> 
  4. {foreach from=$items key=myId item=i name=foo} 
  5. {if $smarty.foreach.foo.index % 5 == 0} 
  6. <tr><th>Title</th></tr> 
  7. {/if
  8. <tr><td>{$i.label}</td></tr> 
  9. {/foreach} 
  10. </table> 

.iteration包含當前循環次數,與index不同,從1開始,每次循環增長1。

iteration和index示例

 

 
  1. {* this will output 0|1, 1|2, 2|3, ... etc *} 
  2. {* 該例將輸出0|1, 1|2, 2|3, ... 等等 *} 
  3. {foreach from=$myArray item=i name=foo} 
  4. {$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration}, 
  5. {/foreach} 

2. smarty中section的嵌套使用

示例1:

 

 
  1. $bookmarks = array('0' => array('name'=> 'n1''url'=>'url2'), '1' => array('name'=> 'n21''url'=>'url22')); 
  2. $categories= array('0' => array('cate_id'=> 'n1''cate_name'=>'url2'), '1' => array('cate_id'=> 'n21''cate_name'=>'url22')); 
  3. {section name='bm' loop=$bookmarks} 
  4. Name:$bookmarks[bm].name 
  5. URL:$bookmarks[bm].url 
  6. {section name='cate' loop=$categories[bm]} 
  7. $categories[bm][cate].cate_id 
  8. $categories[bm][cate].cate_name 
  9. {/section} 
  10. {/section} 
  11. :::: 

示例2:

 

 
  1. $lists = array(); 
  2. for(...){ 
  3. $oneList['dateTime'] = date("Y-m-d"); 
  4. $oneList['detailList'] = array(); 
  5. for(....){ 
  6. $oneList['detailList'][$j]['count'] = $onecout; 
  7. $oneList['detailList'][$j]['title'] = $onetitle; 
  8. $lists[] = $oneList; 
  9. ::::: 
  10. {section name=loop loop=$lists} 
  11. {$lists[loop].dateTime} 
  12. {section name=loop2 loop=$lists[loop]["detailList"]} 
  13. {$lists[loop]['detailList'][loop2].title} 
  14. {$lists[loop]["detailList"][loop2].count} 
  15. {/section} 
  16. {/section} 

3. 其他常用關鍵字

<{section loop= $varName[,start=$start,step=$setp,max=$max,$show=true]}>

name: section的名稱,不用加$;

$loop: 要循環的變量,程度中要使用assign對這個變量進行操作。

$start: 開始循環的下標。默認為0;

$step: 每次循環下標的增數;

$show : boolean型。決定是否對于這塊進行顯示。默認為true;

<{section}>的屬性;

index:循環下標。默認為0;

index_prev:當前下標的上一個值,默認為-1;

index_next:當前下標的下一個值,默認為1;

first:是否為第一下循環;

last:是否為最后一個循環;

iteration:循環個數;

rownum:當前行號,iteration的別名;

loop:最后一個循環號。Section的循環次數;

show:是否顯示;

 

 
  1. <{section loop=$News}> 
  2. 新聞編號:<{$News[loop].newID}><br> 
  3. 新聞內容:<{$News[loop].newTitle}><br> 
  4. <{sectionelse}> 
  5. I am sorry 
  6. <{/section}> 

if用法:

 

 
  1. {if $list[row].name eq "1"
  2. 星期1 
  3. {elseif $list[row].name=="2"
  4. 星期2 
  5. {else
  6. 默認 
  7. {/if

4. smarty 系統變量

{* 顯示URL中的page值($_GET)http://www.example.com/index.php?page=foo *}

{$smarty.get.page}

{* 顯示來自一個表單的"page"變量($_POST['page'])*}

{$smarty.post.page}

{* 顯示COOKIE變量"username"的值($_COOKIE['username'])*}

{$smarty.cookies.username}

{* 顯示服務器變量"SERVER_NAME"($_SERVER['SERVER_NAME'])*}

{$smarty.server.SERVER_NAME}

{$smarty.server.PHP_SELF}

{$smarty.server.SCRIPT_NAME}

{* 顯示系統環境變量"PATH" *}

{$smarty.env.PATH}

{* 顯示PHP會話變量"id"($_SESSION['id'])*}

{$smarty.session.id}

{* 顯示變量"username",不論來自get/post/cookies/server/env *}

{$smarty.request.username}

$smarty}保留變量可以被用于訪問一些特殊的模板變量,以下是全部頁面請求變量。

以下是訪問頁面請求變量諸如get,post,cookies,server,enviroment和session變量的例子. 例如{$smarty.server.SERVER_NAME}取得服務器變量,{$smarty.env.PATH}取得系統環境變量path,{$smarty.request.username}取得get/post/cookies/server/env的復合變量。

{$smarty.now}變量用于訪問當前時間戳.

可以用 date_format調節器格式化輸出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}

你可以直接訪問PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}

可以通過{capture}..{/capture}結構 截取的輸出可以使用{$smarty} 變量訪問.

{$smarty.config}

{$smarty}變量 可以訪問已經加載的config變量.

例如 {$smarty.config.foo}就可以表示 {#foo#}.

{$smarty.section}, {$smarty.foreach}

{$smarty} 變量可以訪問'section'和'foreach'循環的屬性.

{$smarty.template}

顯示當前被處理的模板的名字.

{$smarty.version}

顯示smarty模板的版本

{$smarty.ldelim}

顯示左分隔符

{$smarty.rdelim}

顯示右分隔符$smarty}保留變量可以被用于訪問一些特殊的模板變量,以下是全部頁面請求變量。

以下是訪問頁面請求變量諸如get,post,cookies,server,enviroment和session變量的例子. 例如{$smarty.server.SERVER_NAME}取得服務器變量,{$smarty.env.PATH}取得系統環境變量path,{$smarty.request.username}取得get/post/cookies/server/env的復合變量。

{$smarty.now}變量用于訪問當前時間戳.

可以用 date_format調節器格式化輸出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

{$smarty.const}

你可以直接訪問PHP常量. 例如{$smarty.const._MY_CONST_VAL}

{$smarty.capture}

可以通過{capture}..{/capture}結構 截取的輸出可以使用{$smarty} 變量訪問.

{$smarty.config}

{$smarty}變量 可以訪問已經加載的config變量.

例如 {$smarty.config.foo}就可以表示 {#foo#}.

{$smarty.section}, {$smarty.foreach}

{$smarty} 變量可以訪問'section'和'foreach'循環的屬性.

{$smarty.template}

顯示當前被處理的模板的名字.

{$smarty.version}

顯示smarty模板的版本

{$smarty.ldelim}

顯示左分隔符

{$smarty.rdelim}

顯示右分隔符

希望本文所述對大家基于smarty模板的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 胶州市| 淳化县| 屏山县| 舞阳县| 兴城市| 永嘉县| 南昌县| 平昌县| 扬中市| 项城市| 紫阳县| 霍城县| 衡水市| 榆林市| 咸宁市| 板桥市| 凉城县| 涿鹿县| 东乡族自治县| 乡城县| 景洪市| 汕头市| 红桥区| 阳江市| 霍林郭勒市| 新乐市| 彩票| 古交市| 卓资县| 永州市| 绥阳县| 余干县| 卢氏县| 库尔勒市| 承德市| 芦山县| 阜康市| 安达市| 理塘县| 儋州市| 六枝特区|