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是按钮组样式
output和values可以合并写成options,options是名字和value值组成的一维索引数组
复选按钮组
{html_checkboxes name=”” output=”” values=”” checked=”” separator=””}
name是复选按钮组的名称
output是按钮汉字组成的一维索引数组
values是按钮value值组成的一维索引数组
checked是数值页可以是数组,是默认被选中的value值
separator是按钮组样式
output和values可以合并写成options,options是名字和value值组成的一维索引数组
下拉列表
{html_options name=”” output=”” values=”” selected=”” }
name是下拉列表的名称
output是按钮汉字组成的一维索引数组
values是按钮value值组成的一维索引数组
selected是默认被选中的value值
output和values可以合并写成options,options是名字和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是标签传递的属性名作为键名,属性值作为键值组成的一维关联数组
$smarty是smarty对象
function插件的使用格式
{html_插件名 属性名=属性值 属性名=属性值
属性名=属性值}
modifier插件的文件名 modifier.插件名.php
modifier文件 function smarty_modifier_插件名($string,$color,$height,$style)
$string 是modifier插件修饰的变量名
$color是modifier插件的第一个参数
$height是modifier插件的第二个参数
$style是modifier插件的第三个参数
modifier插件的使用格式
{$a=123}
{$a|modifier插件名:$color:$height:$style}
block块状插件
block文件名 block.插件名.php
文件函数 function smarty_block_插件名($param,$content,$smarty,$repeat)
$param是插件传过来的属性名作为键名,属性值作为键值组成的一维索引数组
$content是插件所修饰的数据内容 在插件名里面
$smarty是smarty对象
$repeat是控制块状执行几次,默认为真,一般都是执行两次.第一次为真,第二次为false。当为false的时候有输出值
返回值
将最后修饰的数据以返回值的形式返回
或者用smarty对象的assign将数据传递到前台
浙公网安备 33010602011771号