重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
为企业提供网站建设、域名注册、服务器等服务
{*
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、丹东网络推广、小程序设计、丹东网络营销、丹东企业策划、丹东品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供丹东建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
{extends file='blockparent.tpl'}
*}
{*必须放在模板的第一行,如果要用子模板来扩展父模板,那么它只能有{block}的区域任何其他模板的内容将被忽略*}
{config_load file='config.conf'}{*载入配置文件*}
.nav{
margin-left:40px;
}
{*访问索引数组*}访问索引数组:
{$arr1[0]}
{*访问关联数组*}访问关联数组:
{$arr2.name}
访问二维数组:
{$arr3.world.china}
访问配置文件变量:
{#webname#}
保留变量:
{*
$smarty.server.SERVER_NAME;相当于$_SERVER['SERVER_NAME']
*}
SERVER:
{$smarty.server.SERVER_NAME}
{*
类似的操作有env,session,requirest等
*}
变量修饰器
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)
*}
{*多个修饰器用|隔开,按从左到右,依次作用于变量*}
复合变量修饰器
upper,truncate:
{$str1|truncate:10|upper}
内置函数:
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}
This is a test
|
{/strip}
while:
{while $len>1}
item{$len--}
{/while}
自定义函数
counter:{*计数器*}
{counter name='cal' start=0 skip=2 assign='abc'}
{counter} {counter} {$abc}
cycle:
{*
交替循环一系列值
name:交替循环的名称
values:交替遍历的值,可以使逗号隔开的字符串或数组
print:是否显示,默认true
advance:是否递进到下一个值
delimiter:values属性使用的限定符
assign:赋值的变量名
reset:交替循环将重置回到最前面的值,而不是递进
*}
{for $i=0 to 5}
{/for}
eval:{*var 需要执行的变量或字符串,assign分配给某个变量*}
{eval var=$str1}
fetch:{*抓取本地换外网上的网页*}
{*
{fetch file='http://www.baidu.com/'}
*}
html_checkboxes:
{html_checkboxes name='cbx' options=$arr4 selected=1001 separator='
'}
{*类似的标签还有
html_p_w_picpath:file:路径,height,width:显示高度和宽度,alt,href:链接地址,如果设置会在外围加上a标签,path_prefix,使用该标签在不开启缓冲的情况下,会降低性能
html_options:values,数组;output:下拉显示的数组,selected:选中项;name:select组的名称;options:键值对数组,用于下拉框
html_radios:同html_checkboxes
html_date,html_time:显示日期、时间,参数比较多
html_table:用数组的形式创建一个表格
mailto:创建一个mailto链接
math:在模板中进行一些数学运算
text_format:格式化文本的块函数
*}
html_date:
{html_select_date prefix='日期' start_year='-5' end_year='+1' month_format='%m' field_order='YMD'}
html_time:
{html_select_time}
html_table:
{html_table loop=$arr5 cols='列1,列2,列3' table_attr='border="0"' tr_attr=$tr inner=rows hdir=left caption='表头'}
注册类
{myclass::$property}
注册函数
{my_fun param=huge}
注册块函数
{mybk background-color=yellow}
这是一个块函数
{/mybk}
自定义函数
{myfuninfo name=huge}
{*
{debug}:显示数据页面中各个已赋值变量的名称和值
*}
目录结构: