{include="style"}

- 标签生成
- 公共配置输出
- 栏目相关输出
- 文章详情输出
- 商品详情输出
- 友情链接输出
- 轮播图输出
- loop标签解析
- 常用标签

文章模块标签生成

选择栏目

是否分页
输出子类数据
排序 输出条数 操作

商品模块标签生成

选择栏目

是否分页
输出子类数据 排序 输出条数 操作

> 扩展配置统一使用规则： 标签值{!--$customconf[配置参数]--} 或者 通过方法获取标签值{!--fun get_custom(配置参数)--}

自定义配置
{loop table="sysconfig" orderby="id asc" notin="type|0" as="v"} {$v['title']}

    {!--$customconf['{$v['field']}']--}

{/loop}

> 系统配置统一使用规则：{!--$webconf[配置参数]--} 或者 通过方法获取{!--fun webConf(配置参数)--}

系统配置
{loop table="sysconfig" orderby="id asc" type="0" as="v"} {$v['title']}

    {!--$webconf['{$v['field']}']--}

{/loop}
全局栏目属性输出
所谓全局也就是整个前台模板体系里都能够使用的标签

    {!--$classtypedata[$id][$str]--}
    							  $id:栏目的ID
    							  $str:栏目对应的字段参数
    							  如：针对于栏目ID等于1的栏目，我们可以这样输出以下内容：
    							  栏目名：{!--$classtypedata[1]['classname']--}
    								模块标识：{!--$classtypedata[1]['molds']--}
    								缩略图：{!--$classtypedata[1]['litpic']--}
    								当前栏目URL：{!--$classtypedata[1]['url']--}
    								描述：{!--$classtypedata[1]['description']--}
    								关键词：{!--$classtypedata[1]['keywords']--}
    								内容：{!--$classtypedata[1]['body']--}
    								列表输出条数：{!--$classtypedata[1]['lists_num']--}
    								栏目评论数：{!--$classtypedata[1]['comment_num']--}
    								上级栏目ID：{!--$classtypedata[1]['pid']--}
    								上级栏目名：{!--$classtypedata[$classtypedata[1]['pid']]['classname']--}
    								上级栏目URL：{!--$classtypedata[$classtypedata[1]['pid']]['url']--}

导航高亮及输出
推荐使用，执行速度快，性能高

    //判断是否首页，输出高亮代码
    								首页
    								{!--foreach $classtypedata as $v--}
    								//判断输出可显示的栏目
    								{!--if($v['isshow']==1)--}
    								//输出一级栏目
    								{!--if($v['pid']==0)--}

    								//判断是否当前栏目，输出高亮代码
    								{!--$v['classname']--}
    								//判断是否有下级，输出下级分类
    								{!--if($v['haschild'])--}

    								{!--foreach $v['children']['list'] as $vv--}
    								{!--$vv['classname']--}
    								{!--/foreach--}

    								{!--/if--}

    								{!--/if--}
    								{!--/if--}
    								{!--/foreach--}

不推荐使用，但也能实现.【loop遍历】

    {!--loop table="classtype" isshow="1" pid="0" as="v"--}
    								栏目名：{!--$v['classname']--}
    								栏目URL：{!--$v['url']--}
    								栏目简介：{!--$v['description']--}
    								栏目缩略图[banner]：{!--$v['litpic']--}
    								判断是否有下级：
    								{!--if(haschild($classtypedata,$v['id']))--}
    								有下级则输出，输出下级栏目
    								{!--foreach $classtypedata[$v['id']]['children']['list'] as $vv--}
    									栏目名：{!--$vv['classname']--}
    									栏目URL：{!--$vv['url']--}
    									栏目简介：{!--$vv['description']--}
    									栏目缩略图[banner]：{!--$vv['litpic']--}

    								{!--/foreach--}
    								{!--else--}
    								没有下级则输出
    								{!--/if--}
    								{!--/loop--}

输出下级栏目的方式（两种）

    ①推荐使用.如输出栏目ID为1的下级栏目
    								{!--foreach $classtypedata[1]['children']['list'] as $v--}
    								{!--/foreach--}

    ②不推荐，但是也能输出loop
    								{!--loop table="classtype" pid="2" isshow="1" as="v"}
    								栏目名：{!--$v['classname']--}
    								栏目URL：{!--$v['url']--}
    								栏目简介：{!--$v['description']--}
    								栏目缩略图[banner]：{!--$v['litpic']--}
    								{!--/loop--}

输出当前栏目下的同级分类

    {!--foreach $classtypedata as $v--}
    							  {!--if($type['pid']==$v['pid'])--}//父类相同，那么他们就是同级了，需要注意的是当前栏目为顶级栏目(pid=0)的时候是输出所有顶级栏目的
    							  栏目名：{!--$v['classname']--}   栏目链接：{!--$v['url']--}
    							  {!--/if--}
    							  {!--/foreach--}

输出当前栏目下的直系上级同级分类

    {!--foreach $classtypedata as $v--}
    							  {!--if($classtypedata[$type['pid']]['pid']==$v['pid'])--}//父类相同，那么他们就是同级了，需要注意的是当前栏目为顶级栏目(pid=0)的时候是输出所有顶级栏目的
    							  栏目名：{!--$v['classname']--}   栏目链接：{!--$v['url']--}
    							  {!--/if--}
    							  {!--/foreach--}

栏目详情页输出
基本信息输出

    ID：{!--$type['id']--}
    								当前位置：{!--$positions--}
    								栏目名：{!--$type['classname']--}
    								模块标识：{!--$type['molds']--}
    								缩略图：{!--$type['litpic']--}
    								当前栏目URL：{!--$type['url']--} 或 {!--$classtypedata[type['id']]['url']--}
    								描述：{!--$type['description']--}
    								关键词：{!--$type['keywords']--}
    								内容：{!--$type['body']--}
    								列表输出条数：{!--$type['lists_num']--}
    								栏目评论数：{!--$type['comment_num']--}
    								上级栏目ID：{!--$type['pid']--}
    								上级栏目名：{!--$classtypedata[$type['pid']]['classname']--}
    								上级栏目URL：{!--$classtypedata[$type['pid']]['url']--}

栏目列表输出

    {!--foreach $lists as $v--}
    								内容输出规则：{!--$v[字段名]--}
    								标题：{!--$v['title']--}
    								内容链接:{!--$v['url']--}
    								热度/点击量:{!--$v['hits']--}
    								评论数:{!--$v['comment_num']--}
    								所属栏目id:{!--$v['tid']--}
    								所属栏目名:{!--$classtypedata[$v['tid']]['classname']--}
    								所属栏目URL:{!--$classtypedata[$v['tid']]['url']--}
    								简介：{!--$v['description']--}
    								链接：{!--$v['url']--}
    								缩略图：{!--$v['litpic']--}
    								内容：{!--$v['body']--}
    								时间：[了解更多日期格式请查看底部附录]
    									格式：年-月-日：{!--fun date('Y-m-d',$v['addtime'])--}
    									格式：年-月-日 时:分:秒：{!--fun date('Y-m-d H:i:s',$v['addtime'])--}
    									格式：年/月/日：{!--fun date('Y/m/d',$v['addtime'])--}
    								{!--/foreach--}

栏目分页输出

    默认输出:
    								{!--$pages--}
    								自定义输出：
    								{!--if($listpage['list'])--}//判断是否有分页数据

    						«
    						{!--foreach $listpage['list'] as $ss--}
    						{!--$ss['num']--}
    						{!--/foreach--}
    						»

    					{!--/if--}

> $jz变量可以输出所有内容

> 内容页也可以使用$type调用栏目所有内容的哦~

    文章标题：{!--$jz['title']--}
    						 当前位置：{!--$positions--}
    						 文章SEO标题：{!--$jz['seo_title']--}
    						 文章关键词：{!--$jz['keywords']--}
    						 文章点击量：{!--$jz['hits']--}自增操作{!--fun incrData('article',$jz['id'],'hits')--}
    						 文章缩略图：{!--$jz['litpic']--}
    						 文章简介：{!--$jz['description']--}
    						 文章内容：{!--$jz['body']--}
    						 文章作者：{!--fun adminInfo($jz['userid'],'name')--}
    						 文章更新时间：{!--fun date('Y-m-d',$jz['addtime'])--}
    						 其他字段内容统一输出：{!--$v[字段参数]--}
    						 *自定义当前位置：【不要求完全掌握，知道可以遍历输出面包屑导航即可】
    						 {!--loop $positions_data as $v--}
    						 {!--php echo ''.$v['classname'].''/--}
    						 {!--/loop--}

上一页

    判断是否有上一篇
    							{!--if($aprev)--}
    							上一篇链接：{!--$aprev['url']--}
    							上一篇标题：{!--$aprev['title']--}
    							{!--else--}
    							如果没有上一篇，则输出这里的内容
    							{!--/if--}

下一页

    判断是否有下一篇
    						{!--if($anext)--}
    							下一篇的链接：{!--$anext['url']--}
    							下一篇的标题：{!--$anext['title']--}
    							{!--else--}
    							如果没有下一篇，则输出这里的内容
    							{!--/if--}

点赞

    {!--if(checkLikes($type['id'],$jz['id']))--}
    						已点赞
    						{!--else--}
    						点赞
    						{!--/if--}

相关点赞js

    function likes(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/likesAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步，默认为异步，这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}

    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}

    			})
    	}

收藏

    {!--if(checkCollect($type['id'],$jz['id']))--}
    						已收藏
    						{!--else--}
    						收藏
    						{!--/if--}

相关收藏js

    function collect(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/collectAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步，默认为异步，这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}

    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}

    			})
    	}

> $jz变量可以输出所有内容

> 内容页也可以使用$type调用栏目所有内容的哦~

    商品标题：{!--$jz['title']--}
    						 当前位置：{!--$positions--}
    						 商品SEO标题：{!--$jz['seo_title']--}
    						 商品关键词：{!--$jz['keywords']--}
    						 商品点击量：{!--$jz['hits']--}自增操作{!--fun incrData('product',$jz['id'],'hits')--}
    						 商品主图：{!--$jz['litpic']--}
    						 商品价格：{!--$jz['price']--}
    						 商品库存：{!--$jz['stock_num']--}
    						 商品简介：{!--$jz['description']--}
    						 商品内容：{!--$jz['body']--}
    						 商品上传管理员：{!--fun adminInfo($jz['userid'],'name')--}
    						 商品更新时间：{!--fun date('Y-m-d',$jz['addtime'])--}
    						 其他字段内容统一输出：{!--$v[字段参数]--}
    						 *自定义当前位置：【不要求完全掌握，知道可以遍历输出面包屑导航即可】
    						 {!--loop $position_data as $v--}
    						 {!--php echo ''.$v['classname'].''/--}
    						 {!--/loop--}

商品图集

    {!--php $pictures = explode('||',$jz['pictures'])/--}
    									{!--foreach $pictures as $v--}
    									{!--if($v!='')--}
    									图片链接：{!--$v--}
    									{!--/if--}
    									{!--/foreach--}

商品属性

    {!--php $product_fields = get_fields_show($jz['tid'],$type['molds'])/--}
    						{!--foreach $product_fields as $v--}
    						属性名：{!--$v['fieldname']--}
    						{!--if($v['fieldtype']==7)--}

    						输出单选值：{!--fun get_key_field_select($jz[$v['field']],$type['molds'],$v['field'])--}
    						{!--else if($v['fieldtype']==8)--}

    						输出多选值，并用空格分隔：{!--fun implode(' ',get_key_field_select($jz[$v['field']],$type['molds'],$v['field']))--}
    						{!--else--}

    						输出原值：{!--$jz[$v['field']]--}
    						{!--/if--}
    						{!--/foreach--}

点评/星星数【五颗星为满分，评分数为总星数/投票数，点了星星并提交评论才算评分成功】

    									{!--php $comment = show_comment($jz['tid'],$jz['id'])/--}

    									{!--php $star_num = $comment['average']/--}
    									{!--if($comment['data'])--}
    									{!--for $i=1;$i<=$star_num;$i++--}

    									{!--/for--}
    									{!--if(round($star_num)!=$star_num)--}

    									{!--/if--}
    									{!--if($star_num<5)--}
    									{!--for $i=1;$i<=(5-$star_num);$i++--}

    									{!--/for--}
    									{!--/if--}
    										{!--$star_num--} - {!--$comment['count']--} 票
    									{!--else--}

    									0 - 0 票
    									{!--/if--}

加入购物车

加入购物车JS

    function addcart(tid,id,num){
    								$.ajax({
    									 url:"{!--fun U('user/addcart')--}",//请求的url地址
    									 dataType:"json",//返回格式为json
    									 async:true,//请求是否异步，默认为异步，这也是ajax重要特性
    									 data:{tid:tid,id:id,num:num,ajax:1},//参数值
    									 type:"POST",//请求方式
    									 beforeSend:function(){
    										//请求前的处理
    										},
    										 success:function(r){
    											if(r.code==0){
    												window.location.href=r.url;
    											}else{
    												alert(r.msg);
    											}

    										},
    										 complete:function(){
    										//请求完成的处理
    										},
    										 error:function(){
    										//请求出错处理
    											alert('网络错误');
    										}

    								})
    						   }

相关产品

    {!--loop table="$type['molds']" notin="id|$jz['id']" limit="3" as="v"--}
    						   notin：表示除当前ID外的产品
    						   {!--/loop--}

上一个

    判断是否有上一个
    							{!--if($aprev)--}
    							上一个链接：{!--$aprev['url']--}
    							上一个标题：{!--$aprev['title']--}
    							{!--else--}
    							如果没有上一个，则输出这里的内容
    							{!--/if--}

下一个

    判断是否有下一个
    						{!--if($anext)--}
    							下一个的链接：{!--$anext['url']--}
    							下一个的标题：{!--$anext['title']--}
    							{!--else--}
    							如果没有下一个，则输出这里的内容
    							{!--/if--}

点赞

    判断是否有点赞
    						{!--if(checkLikes($type['id'],$jz['id']))--}
    						有点赞，则输出这里
    						已点赞
    						{!--else--}
    						没有点赞则输出这里
    						点赞
    						{!--/if--}

相关点赞js

    function likes(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/likesAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步，默认为异步，这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}

    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}

    			})
    	}

收藏

    {!--if(checkCollect($type['id'],$jz['id']))--}
    						已收藏
    						{!--else--}
    						收藏
    						{!--/if--}

相关收藏js

    function collect(tid,id){
    		$.ajax({
    				 url:"{!--fun U('user/collectAction')--}",//请求的url地址
    				 dataType:"json",//返回格式为json
    				 async:true,//请求是否异步，默认为异步，这也是ajax重要特性
    				 data:{tid:tid,id:id,ajax:1},//参数值
    				 type:"POST",//请求方式
    				 beforeSend:function(){
    					//请求前的处理
    					},
    					 success:function(r){
    						if(r.code==0){
    							alert(r.msg);
    							window.location.reload();
    						}else{
    							alert(r.msg);
    						}

    					},
    					 complete:function(){
    					//请求完成的处理
    					},
    					 error:function(){
    					//请求出错处理
    						alert('网络错误');
    					}

    			})
    	}

    {!--loop table="links" isshow="1" orderby="orders desc" as="v"--}
    							 链接名：{!--$v['title']--}
    							 链接URL：{!--$v['url']--}
    							 {!--/loop--}

轮播图分类输出

    {!--loop table="collect_type" as="v"--}
    							 轮播图分类名字：{!--$v['name']--}
    							 创建时间：{!--fun date('Y-m-d',$v['addtime'])--}
    							 {!--/loop--}

根据分类输出轮播图

    {!--loop table="collect" orderby="orders desc" tid="1" isshow="1" as="v"--}
    							 轮播图标题：{!--$v['title']--}
    							 轮播图描述：{!--$v['description']--}
    							 轮播图图片：{!--$v['litpic']--}
    							 轮播图链接：{!--$v['url']--}
    							 创建时间：{!--fun date('Y-m-d',$v['addtime'])--}
    							 {!--/loop--}

通用说明

    {!--loop table="表名" tid="栏目ID" limit="输出条数" ispage="值1" isall="值1" notin="字段|值" like="字段|值,字段2|值2" as="变量标签,默认v"--}
    						 这里面输出内容格式：{!--$v[字段参数]--}
    						 {!--$v_n--}：计数，从1开始计(v1.6更改)
    						 table：数据库的表名
    						 tid：对应表中的栏目ID，默认每条数据都会有tid字段，可以根据此值输出对应的栏目数据
    						 limit：输出的条数
    						 ispage：数值可以是非0的任何数字，如果填写了该参数，则loop循环结束后可以调出分页
    						 isall：数值可以是非0的任何数字，如果填写了该参数，则查询数据的时候会调用tid栏目的下级数据（如果没有tid，则忽略）
    						 notin：表示查询除某个字段值意外的数据，如:id|1，表示除id=1以外的数据 as：默认循环变量为小写字母v，可以自定义非数字开头的字母（严格意义上说，不能出现PHP的关键字）
    						 like：表示查询存在某个值的数据，目前仅支持的形式有:[字段|值],[字段1|值1,字段2|值2],[字段|变量] 如:title|测试，表示title中含有‘测试’这个单词的数据。
    						 as：默认循环变量为小写字母v，可以自定义非数字开头的字母（严格意义上说，不能出现PHP的关键字）
    						 {!--/loop--}

如果有ispage参数，那么loop后面可以调用分页【特别说明：$v是loop里面的as="v"里面的v，要灵活转换】

    默认tpl模板输出：{!--$v_pages--}
    						 总条数：{!--$v_sum--}
    						 总页数：{!--$v_allpage--}
    						 分页列表：{!--$v_listpage--}
    						 分页前一条：{!--$v_prevpage--}
    						 分页后一条：{!--$v_nextpage--}
    						 自定义输出：

    				{!--if($v_listpage['list'])--}
    					«
    					{!--foreach $v_listpage['list'] as $ss--}
    					{!--$ss['num']--}
    					{!--/foreach--}
    					»
    				{!--/if--}

举例说明：输出文章栏目ID为2,3,4的所有数据，并输出分页，每页10条，变量为v

    {!--loop table="article" tid="2,3,4" isall="1" ispage="1" limit="10" as="v"--}
    						 标题:{!--$v['title']--}
    						 简介:{!--$v['description']--} 截取20个字：{!--fun newstr($v['description'],40)--}
    						 缩略图:{!--$v['litpic']--}
    						 时间:{!--fun date('Y-m-d',$v['addtime'])--}
    						 内容:{!--$v['body']--}
    						 其余内容按照统一规则：{!--$v[字段参数]--}
    						 {!--/loop--}
    						 输出分页

    						{!--if($v_listpage['list'])--}
    							«
    							{!--foreach $v_listpage['list'] as $ss--}
    							{!--$ss['num']--}
    							{!--/foreach--}
    							»
    						{!--/if--}

输出任何一条数据的万能标签【一条数据】

    {!--fun get_info_table($table,$where=null,$str=null)--}
    						$table:表名，模块名，从数据库或模块列表可查看
    						$where:查询条件。如：['id'=>1],表示查询条件为id=1
    						$str:获取字段，默认null，返回数组，如果有对应的字段，则返回查询得到的数据的对应字段值。字段可以从数据库中查看。

输出任意多条数据的万能标签【多条数据】

    {!--fun get_all_info_table($table,$where=null,$order=null,$limit=null,$field=null)--}
    						$table:表名，模块名，从数据库或模块列表可查看
    						$where:查询条件。如：['id'=>1],表示查询条件为id=1
    						$order:查询排序，默认null，表示按系统排序ID正序。如：'id desc'表示ID倒序，'addtime desc,id desc'表示按最新时间，并且ID倒序
    						$limit:查询条数，默认null，表示查询所有数据。
    						$field:查询字段，默认null，表示可以输出哪些字段。

IF逻辑判断

    {!--if(判断1)--}
    						//如果判断1为真，则输出这里
    						{!--else if(判断2)--}
    						//如果判断1为假，判断2为真，则输出这里
    						{!--else--}
    						//否则输出这里（判断1、判断2都为假）
    						{!--/if--}

Foreach循环输出

    {!--foreach $lists as $v--}
    						这里循环输出{!--$v--}对应的参数值
    						{!--/foreach--}

For循环输出

    {!--for $i=1;$i<5;$i++--}
    						这里输出{!--$i--}从1开始递增
    						{!--/for--}

使用PHP函数/方法【要求一定要掌握的技能】

    {!--fun 函数--}   如输出当前日期函数：{!--fun date('Y-m-d',time())--}

通过函数方式获取默认配置参数

    {!--fun webConf(配置参数)--}

通过函数方式获取自定义配置参数值【只能获取值或者数组】

    {!--fun get_custom(配置参数=null)--}  如果没有输入配置参数，则返回自定义配置数组

各种端口检测【手机端检测】【微信端检测】

    判断是否为手机端：{!--if(isMobile())--}如果真，这里输出手机端内容{!--/if--}
    						判断是否为微信端：{!--if(isWeixin())--}如果真，这里输出微信端内容{!--/if--}

各种链接创建【链接生成】

    指定一个模块的一条数据链接生成：{!--fun gourl($id,$htmlurl=null,$molds='article')--}这里的$id指内容ID，$htmlurl指栏目静态链接名，$molds指模块标识
    						指定一个栏目的URL链接：{!--$classtypedata[$id]['url']--}这里的$id指栏目的ID值
    						创建一个自定义URL：{!--fun U($action)--}这里的$action可以是一个方法名，也可以是控制器+方法
    						如：{!--fun U('index')--}则输出当前页面控制器下面的index方法的执行链接
    						如：{!--fun U('Home/index')--}则输出Home控制器下面的index方法的执行链接

通过函数方式获取文章作者，上传商品管理员信息

    {!--fun adminInfo($str=null)--}默认传入字段参数为null，返回数组
    						{!--fun adminInfo('name')--}管理员姓名
    						{!--fun adminInfo('tel')--}管理员电话
    						{!--fun adminInfo('email')--}管理员邮箱

字符串截取【默认字符集为UTF-8,且中文为2个字符一个汉字】

    {!--fun newstr($data,20)--}表示截取$data中的前20个字符

检查后台管理员的某个操作权限

    {!--if( checkAction($action))--}如果真，则执行这里{!--/if--}$action可以是整个模块的控制器名，也可以是单独某个操作名。
    						如：{!--if(checkAction('Article'))--}如果返回真，则只需这里的代码{!--/if--}检查用户对文章模块是否有操作权限。
    						{!--if(checkAction('Article/addarticle'))--}如果返回真，则只需这里的代码{!--/if--}单独检查用户是否有新增文章的权限

PHP变量输出

    {!--$v--}输出$v变量的值

模板执行PHP语句【注意中间的空格】

    {!--php 这里写PHP的内容/--}

模板输出原生标签

    用{!--!------}代替{}

附录

    时间参数表：
    							格式：年-月-日：{!--fun date('Y-m-d',$v['addtime'])--}
    格式：年-月-日 时:分:秒：{!--fun date('Y-m-d H:i:s',$v['addtime'])--}
    格式：年/月/日：{!--fun date('Y/m/d',$v['addtime'])--}
    							a - "am" 或是 "pm"
    A - "AM" 或是 "PM"
    d - 几日，二位数字，若不足二位则前面补零; 如: "01" 至 "31"
    D - 星期几，三个英文字母; 如: "Fri"
    F - 月份，英文全名; 如: "January"
    h - 12 小时制的小时; 如: "01" 至 "12"
    H - 24 小时制的小时; 如: "00" 至 "23"
    g - 12 小时制的小时，不足二位不补零; 如: "1" 至 12"
    G - 24 小时制的小时，不足二位不补零; 如: "0" 至 "23"
    i - 分钟; 如: "00" 至 "59"
    j - 几日，二位数字，若不足二位不补零; 如: "1" 至 "31"
    l - 星期几，英文全名; 如: "Friday"
    m - 月份，二位数字，若不足二位则在前面补零; 如: "01" 至 "12"
    n - 月份，二位数字，若不足二位则不补零; 如: "1" 至 "12"
    M - 月份，三个英文字母; 如: "Jan"
    s - 秒; 如: "00" 至 "59"
    S - 字尾加英文序数，二个英文字母; 如: "th"，"nd"
    t - 指定月份的天数; 如: "28" 至 "31"
    U - 总秒数
    w - 数字型的星期几，如: "0" (星期日) 至 "6" (星期六)
    Y - 年，四位数字; 如: "1999"
    y - 年，二位数字; 如: "99"
    z - 一年中的第几天; 如: "0" 至 "365"