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}