首页 > 网站 > 建站经验 > 正文

SupSite模板里经常用到以下几个标签的说明_SupeSite教程

2024-08-30 19:09:14
字体:
来源:转载
供稿:网友
一、{block name="" parameter=""}:它对应的是模块功能,实现数据调用的就是它
        如调用系统分类的数据:

<!--{block name="category" parameter="type/news/isroot/1/order/c.displayorder/limit/0,12/cachetime/80800/cachename/category"}-->

它有两个参数一个是name,一个是parameter,其中name后面跟的是表名,parameter后面跟的是查询数据的参数,如果对这些参数搞不懂的话可以去看下面的几个教程:
        SupSite 7.0 页面文件与模块关系说明:http://faq.comsenz.com/viewnews-507
        教您如何读懂模块代码里的参数:http://faq.comsenz.com/viewnews-312
        SupeSite7.0数据调用模块参数详解:http://faq.comsenz.com/viewnews-696
        parameter 的值中比较特殊的是 sql ,它后面跟的是转义后的 SQL 语句,这种 SQL 语句是在模块功能的高级模式里面产生的,如如调用注册会员数:

<!--{block name="tag" parameter="sql/SELECT%20count%28%2A%29%20AS%20num%20FROM%20supe_members/limit/0,1/cachetime/900/cachename/membernum/tpl/membernum"}--><!--membernum-->

二、#date(日期时间格式, 时间戳)#:它的作用是将时间戳转换为时间格式
        日期/时间格式只能是某些字符的组合,关于它们的介绍在最下面。
        时间戳,它是一个长度为10的整数,是计算的1970年1月1日零时起所过去的秒数。
        如:#date("Y年n月j日", 1248316413)#对应的时间是:2009年7月23日

三、#uid/$uid/op/$param#与#action/参数#,这两个标签解析后将会转换成url
第一种:#uid/$uid/op/$param#
        $uid是变量,是会员的UID号且必填的
        op是参数,值只能是:bbs,uchphoto,uchblog,news。
        #uid/1/op/bbs#它转换成URL是URL?uid-1-op-bbs
第二种:#action/$value1/$value2/$value3/#,它后面的值可以是多个,并没有限制,只要在地址栏里面能够访问,就能写成这个形式。
        #action/announcement# 对应的是 URL?action-announcement
        #action/forumdisplay/fid/$cat[fid]# 对应的是 URL?action-forumdisplay-fid-$cat[fid],$cat[fid]是模板中的变量,最终会被转换为数值。

四、{template $name},它的作用就是包含其他的模板
$name参数是模板名,如header.html.php,则模板名为:header
在模板文件中都会有这样一句:{template header} 意思就是加载header.html.php模板。


五、{eval php语句},它相当于php中的eval函数,作用就是将大括号中的语句作为php语句来执行
        {eval $i=1;},将$i赋值为1
        注意:在用{eval php语句}时中间不要出现“{”、“}”,否则系统会无法解析里面的php语句,建议写成一行一句的样式。


六、{echo $value},作用是输出字符
        $value 只能是字符串
        {eval $value="你好";}
        {echo $value}将显示:你好。

七、{if $value},{elseif $value},{else},{/if}:这几个标签组合起来将转换成if/else语句,$value是if语句的条件,在它后面不用写括号
在index.html.php模板文件关于调查的代码中有以下几句用的就是这几个标签: 

  1.  
  2. <!--{if empty($_SBLOCK['poll'])}--> 
  3. <li>暂时没有调查</li> 
  4. <!--{else}--> 
  5. <!--{loop $_SBLOCK['poll'] $value}--> 
  6. <li><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li> 
  7. <!--{/loop}--> 
  8. <!--{/if}--> 


意思是判断$_SBLOCK['poll']是否为空,为空则显示“暂时没有调查”,不为空则显示出调查的数据。

八、loop循环,有两种形式
1、{loop $value1 value2} {/loop}将转换成foreach($value1 as $value2){}语句,作用是遍历数组
$value1是要遍历的数组,$value2是每次遍历的值
在index.html.php模板文件关于公告的代码中有以下几句用的就是这几个标签:
        <!--{loop $_SBLOCK['announce'] $value}-->
        <li><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li>
        <!--{/loop}-->
意思是遍历$_SBLOCK['announce']数组,将每次结果放入$value里面。

2、{loop $value1 $value2 $value3} {/loop}将转换成foreach($value1 as $value2=>$value3){}的形式,
$value1是要遍历的数组,$value2中数组的key值,$value3是key值对应的值。
在index.html.php模板文件展示导航条的代码中有以下几句用的就是这几个标签:

  1. <!--{loop $channels['menus'] $key $value}--> 
  2. <li><a href="$value[url]">$value[name]</a></li> 
  3. <!--{/loop}--> 


意思是遍历$channels['menus']数组,将每次遍历的key值放入$key,将结果放入$value。

日期/时间格式允许使用的字符(注意大小写)

1、日期格式:
年:
        L:是否为闰年,如果是闰年则为1,否则为0;
        o(O的小写形式):ISO-8601格式年份数字。这和Y的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加入),例如1999,2003;
        Y:4 位数字表示的完整年份,例如1999,2003;
        y:2 位数字表示的年份,例如99,03;
月:
        F:月份,完整的文本格式,例如 January 或者 March;
        m:数字表示的月份,有前导零,01 到12;
        M:三个字母缩写表示的月份,例如Jan到Dec;
        n:数字表示的月份,没有前导零,1到12;
        t:给定月份所应有的天数,例如28,30,31;
日:
        d:月份中的第几天,有前导零的两位数字,例如01 到 31;
        D:星期中的第几天,以文本表示,截取对应英文名称的前三个字母,例如Mon到Sun;
        j:月份中的第几天,没有前导零,例如1 到 31;
        l(L的小写形式):星期几,完整的文本格式,例如Sunday到Saturday;
        N:ISO-8601格式数字表示的星期中的第几天(PHP 5.1.0新加入),例如1(表示星期一) 到7(表示星期日);
        S:每月天数后面的英文后缀,2 个字符,例如st,nd,rd和th,可以和j一起使用;
        w(W的小写形式):星期中的第几天,数字表示,例如0(表示星期日) 到 6(表示星期六);
        z(Z的小写形式):年份中的第几天,例如0 到 366;
周数:
        W:ISO-8601格式年份中的第几周,每周从星期一开始(PHP 4.1.0新加入),例如:42(当年的第42周);
2、时间(time)格式:
        a:小写的上午和下午值,am或pm;
        A:大写的上午和下午值,AM或PM;
        B:Swatch Internet 标准时,000到999;
        g:小时,12 小时格式,没有前导零,1到12;
        G:小时,24 小时格式,没有前导零,0到23;
        h:小时,12 小时格式,有前导零,01到12;
        H:小时,24 小时格式,有前导零,00到23;
        i:有前导零的分钟数,00到59;
        s:秒数,有前导零,00到59;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表