smaerty里面的控制结构

1.foreach

写法

{foreach from="" name="ddd" key="" item=""}

{/foreach}

from是遍历的数据,name是foreach遍历的别名,key是循环的键名,item是循环的键值

$smarty.foreach.ddd.index //循环的索引值

$smarty.foreach.ddd.first //第一次循环

$smarty.foreach.ddd.last //最后一次循环

$smarty.foreach.ddd.total //总循环次数

$smarty.foreach.ddd.iteration //当前循环次数

{foreach $arr as $v}

{/foreach}

也可以用section循环

{section name="" loop="" start="" step="" max="" show=""}

{/section}

name是循环体的名字,可以当作下标使用,loop是遍历的数据,start是开始遍历的位置,可以是负值,step是循环的步长,也可以是负值,负值和start一起使用.max是循环的次数,show是是否展示,true默认展示,flase不展示

if循环

{if}

{/if}

不能没有闭合标签

smarty页面的引入

静态模版页面的引入

{include file="路径名+文件"}

CSS Image JS 文件放在哪里 分目录放到public文件夹中。

依然使用对应的html标签引入images|js|css 注意路径问题!

以引入模版的php页面为参照写相对路径

变量操作器

用处:对变量进行一定的修饰

(这个过程其实等同于我们php中的字符串函数对字符串的修饰)

格式:

{$变量名|函数名}

{$变量名|函数名:参数1:参数2}

{$变量名|函数1:参数1:参数2|函数2:参数1:参数2}

注意格式:变量与修饰符之间用|隔开,参数与参数之间用冒号隔开

修饰函数:

capitalize //首字母大写

count_characters:true/fasle //计算字符串长度 ture计算空格,默认flase,忽视空格

cat  //将字符串与cat后面的数据链接

date_formate:"%Y-%m-%d %H:%M:%S" //将时间戳转换成时间

{"Y-m-d H:i:s"|date:time()}

 

 

 

default  //变量不存在默认输出后面的参数

lower //将字符串变成小写

upper //将字符串变成大写

Lower 将字符串变成小写

Replace 第一个参数是被替换的内容,第二个参数是用来替换的内容

Truncate 截取字符串

参数有三个

第一个是默认截取的字符串 默认80

第二个是截取的字符串后面的连接符 默认是... ...算截取的字符

第三个是是否精确截取 默认false不精确截取,保证单词的完整,设置为true精确截取到字符

Smarty的系统自带标签

单选按钮

{html_radios name=” “ output=”” values=”” checked=”” separator=””}

name是单选按钮组的名称

output是按钮汉字组成的一维索引数组

values是按钮value值组成的一维索引数组

checked是数值,是默认被选中的value

separator是按钮组样式

outputvalues可以合并写成optionsoptions是名字和value值组成的一维索引数组

复选按钮组

{html_checkboxes name=”” output=”” values=”” checked=”” separator=””}

name是复选按钮组的名称

output是按钮汉字组成的一维索引数组

values是按钮value值组成的一维索引数组

checked是数值页可以是数组,是默认被选中的value

separator是按钮组样式

outputvalues可以合并写成optionsoptions是名字和value值组成的一维索引数组

下拉列表

{html_options name=”” output=”” values=”” selected=””  }

name是下拉列表的名称

output是按钮汉字组成的一维索引数组

values是按钮value值组成的一维索引数组

selected是默认被选中的value

outputvalues可以合并写成optionsoptions是名字和value值组成的一维索引数组

不能不写名字,不写名字就是<option></option>

可以在外面加上<select></select>

时间插件

{html_select_time}

日期插件

{html_select_date}

参数

start_year:开始年

end_year:结束年

field_year:显示顺序 YMD是年月日

month_format:月份格式 “%m”是十进制的1~12数字

 

 

Smarty自定义插件

 

三种类型:function函数 modifier修饰 block块状插件

 

function插件的文件名:function.html_插件名.php

 

function文件:function smarty_function_html_插件名($param,$smarty)

 

$param是标签传递的属性名作为键名,属性值作为键值组成的一维关联数组

 

$smartysmarty对象

 

function插件的使用格式

 

{html_插件名 属性名=属性值 属性名=属性值

 

属性名=属性值}

 

modifier插件的文件名 modifier.插件名.php

 

modifier文件 function smarty_modifier_插件名($string,$color,$height,$style)

 

$string modifier插件修饰的变量名

 

$colormodifier插件的第一个参数

 

$heightmodifier插件的第二个参数

 

$stylemodifier插件的第三个参数

 

modifier插件的使用格式

 

{$a=123}

 

{$a|modifier插件名:$color:$height:$style}

 

block块状插件

 

block文件名 block.插件名.php

 

文件函数 function smarty_block_插件名($param,$content,$smarty,$repeat)

 

$param是插件传过来的属性名作为键名,属性值作为键值组成的一维索引数组

 

$content是插件所修饰的数据内容 在插件名里面

 

$smartysmarty对象

 

$repeat是控制块状执行几次,默认为真,一般都是执行两次.第一次为真,第二次为false。当为false的时候有输出值

 

返回值

 

将最后修饰的数据以返回值的形式返回

 

或者用smarty对象的assign将数据传递到前台

 

posted on 2017-10-19 22:59  顾君临  阅读(78)  评论(0)    收藏  举报