capitalize:
{*格式化單詞*}
{$str|capitalize}{*默認*}
{$str|capitalize:true}
{*帶數字的開頭是否大寫,第二個參數,首字母后面的是不是小寫*}
{$str|capitalize:true:true}{*多個參數用冒號隔開*}
cat:
{*字符串連接函數*}
{$str1|cat:'huge!'}
count_characters:
{*計算字符數*}
{$str|count_characters}
{$str|count_characters:true}{*包含空格*}
{*
類似函數有,count_paragraphs:計算段落數,以換行符為標識
count_sentences:計算變量有多少個句子。每個句子必須以點號、問號或者感嘆號結尾
count_words:計算變量內容有多少個單詞
*}
count_paragraphs:
{$str2}
{$str2|count_paragraphs}
date_format:
{*格式化日期的顯示*}
{$smarty.now|date_format:'%Y-%m-%d %l:%M:%S %p'}{*12小時制*}
{*%T等價于%H:%M:%S,24小時制*}
{*%p:只顯示AM或PM;%r:等價于%l:%M:%S %p*}
{*其他變量修飾器:
default:設置默認值,當變量未定義或為空時,啟用,需要傳入默認值
escap:可用于將變量編碼成html,url,單引號,16進制,16進制實體,javascript和電子郵件,默認是html
unescap:escap的解碼函數
indent:代碼縮進,默認是4個空格,可以自行設置數目和類型,但頁面顯示無效果,只支持代碼縮進
lower:將字符串轉換為小寫
upper:將變量轉換為大寫字母
nl2br:將變量值中'\n'轉換為
regex_replace:用正則表達式搜索和替換變量值,參數分別是正則表和要替換的字符達式
replace:對變量進行簡單的搜索和替換,同上,只是第一個參數直接是字符串
spacify:會在變量的字符串中插入空格,可以設置插入字符的類型
string_format:格式化字符串,如浮點數,指定哪種格式,springf()
strip:轉換連續空格,回車和tab到單個空格或是指定的字符串
strip_tag:去除標記等包含在<和>中間的字符,參數bool值,指定是否將標簽轉換為空格
from_charset:將變量值轉換為當前的字符集
to_charset:可將變量值由當前的內置字符集轉換到指定的字符集
truncate:截取字符串到指定的長度,默認是80,截取后字符的長度是截取規定的長度加上第二個參數的字符長度,參數1,長度,默認80,參數2,替代顯示字符,默認...,參數3,是否按單詞截取,默認true,參數4,當字符截取度剛好等于字符本身的長度時,是否截取,默認true
wordwrap:限制一行字符的長度(自動換行)默認是80,參數1,行長度,參數2,換行符,默認'\n',參數3,設置按單詞換行(false,默認),還是按字符換行(true)
*}
內置函數:
appand{*在運行時為數組變量增加或創建值*}
{append var='arr' value='元素1' index='first'}
The first name is {$arr.first}
assign
{*在模板運行時,給變量賦值*}
{assign var='name' value='huge'}
The Name is {$name}
block:
{*
可以再模板上定義一塊區域,以進行模板繼承,參數1,模板區域名稱;參數2,append:區域代碼將附加到父母版{block}內容之后,參數3,prepend:之前,hide在沒有該名稱區域時,忽略區域內容,nochache:關閉緩沖,可以通過$smarty.block.parent和$smarty.block.child來獲取父元素和子元素
*}
{literal}會重寫當前的文檔流
{extends file='blockparent.tpl'}
{block name='pblock'}childblock{/block}{*直接覆蓋父元素*}
{block name='pblock' append}appendchildblock{/block}{*置于父元素后面,prepend用法類似*}
{block name='pblock' }{$smarty.block.parent}{/block}
{*獲取父元素中的全部內容,包括不在block中的內容,$smarty.block.child*}
{/literal}
{*literal:將標簽內的內容原樣輸出*}
call:
{*
可以調用一個通過{function}標簽定義的模板函數,參數1,name,函數名;參數2,
*}
{function name='myfun'}
this is a function標簽
{/function}
{call name='myfun'}
capture:
{capture name='mycap'}This is a capture{/capture}
{$smarty.capture.mycap}
for:
{for $i=20 to 10 max=3}{*簡單的for循環,max,可選,設置大循環次數*}
item{$i}
{forelse}沒有循環時,顯示的內容。
{/for}
if:
{if $myname eq 'huge'}
welcome huge!
{elseif $myname=='萍兒'}
welcome 學姐
{else}
對不起,不為外星人提供服務!
{/if}
include:
{include file='include.tpl' title='名單'}
{*
{ldelim}:左定界符
{rdelim}:右定界符
這樣直接在瀏覽器輸出這兩個定界符,不進行解析
*}
nocache:
{*關閉局部緩沖*}
{nocache}
{$smarty.now|date_format:'%T'}
{/nocache}
section:
{section name='sc' loop=$arr1 start=0 step=1 max=3 show=true}
{$arr1[sc]}
{sectionelse}
控數組
{/section}
strip:
{*過濾多余空格和回車,使頁面內容在一行顯示*}
{strip}
{/strip}
while:
{while $len>1}
item{$len--}
{/while}