您好,登錄后才能下訂單哦!
內置函數
1.使用{$var=...}來創建一個變量。
//在模版中創建變量
{$name = 'Mr.Lee'}
//輸出變量
{$name}
2.使用{assign}來為變量賦值。
//這又是一種創建變量方式
{assign var='name' value='Mr.Lee'}
//輸出
{$name}
3.使用{append}來創建數組變量。
//value 表示值,index 表示字符串索引
{append var='name' value='Mr.' index='first'}
{append var='name' value='Lee' index='last'}
//輸出
{$name.first}
4.使用{literal}來避免模版解析。
//避免模版解析
{literal}
{$name}
{/literal}
5.左右花括號轉義
//直接輸出左右花括號
{ldelim}{rdelim}
6.加載其它模版頁面
//加載一個模版頁面
{include file='hr.tpl'}
7.清楚標記中的空格
//清楚空格和換行
{strip}
<table>
<tr>
<td>1</td>
</tr>
</table>
{/strip}
8.加載配置文件
//加載配置文件
{config_load file='web.conf'}
//輸出配置文件全局變量
{#webname#},{#keywords#}
//加載節點塊
{config_load file='web.conf' section='base'}
//輸出節點塊全局變量
{#name#}
//web.conf
webname='淘寶'
keywords='購物,低價'
[cus]
name='Mr.Lee'
[base]
name='Miss.Wang
在模版中使用 if 條件語句
//簡單的 if 語句
{if $name=='Mr.Lee'}
找到此人
{/if}
{if $name=='Mr.Lee'}
找到此人
{else}
找不到此人
{/if}
使用 while 循環語句
//表達式和 if 一樣,參考表
{while $num < 10}
{$num++}
{/while}
{for $i = 1 to 10}
{$i}
{/for}
//數組賦值
$smarty->assign('array', array('red', 'green', 'blue'));
//簡單的遍歷數組
{foreach $array as $value}
{$value}
{/foreach}
//打印出索引值
{foreach $array as $key=>$value}
{$key}->{$value}
{/foreach}
//關聯數組
$smarty->assign('array',
array('btx'=>'red', 'opd'=>'green', 'wya'=>'blue'));
//另一種索引值獲取方式,Smarty3 新語法
{foreach $array as $value}
{$value@key}
{/foreach}
//獲取從 0 開始的索引,即使是關聯數組,也會獲取數值索引
{foreach $array as $value}
{$value@index}
{/foreach}
//獲取從 1 開始的迭代值,不是索引
{foreach $array as $value}
{$value@iteration}
{/foreach}
//獲取第一個元素
{foreach $array as $value}
{if $value@first}
{$value}
{/if}
{/foreach}
//獲取最后一個元素
{foreach $array as $value}
{if $value@last}
{$value}
{/if}
{/foreach}
//判斷數組是否有輸出
{foreach $array as $value}
{$value}
{/foreach}
//可以在外部
{$value@show}
//獲取數組元素總數
{foreach $array as $value}
{$value}
{/foreach}
//遍歷內部或外部均可
{$value@total}
//終止迭代
{foreach $array as $value}
{if $value == 'green'}
{break}
{/if}
{$value}
{/foreach}
//終止當前迭代
{foreach $array as $value}
{if $value == 'green'}
{continue}
{/if}
{$value}
{/foreach}
//如果沒有數據的情況下
{foreach $array as $value}
{$value}
{foreachelse}
沒有數據
{/foreach}
使用 section 來遍歷數組
{foreach}可以做{section}能做的所有事,而且語法更簡單、更容易。它通常是循環
數組的首選。
{section}循環不能遍歷關聯數組,(被循環的)數組必須是數字索引,像這樣(0,1,
2,...)。對于關聯數組,請用{foreach}循環。
終上所述:推薦使用 foreach,而 section 的一些 foreach 沒有的功能其實都應該在
PHP 程序下編寫而不是在模版中。
1.簡單的遍歷
//索引數組,關聯數組無法獲取
$smarty->assign('array', array('red', 'green', 'blue'));
//遍歷
{section loop=$array name=value}
{$array[value]}
{/section}
2.未分配變量的遍歷
//輸出 10,12,14,16,18
{section start=10 loop=20 step=2 name=value}
{$smarty.section.value.index}
{/section}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。