Supesite模板数据调用常用标签介绍

一、模块调用代码:它对应的是模块功能,实现数据调用的就是它

<!--{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后面跟的是查询数据的参数,如果对这些参数搞不懂的话可以去看下面的几个教程:

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(日期时间格式, 时间戳)#:它的作用是将时间戳转换为日期/时间格式只能是某些字符的组合,关于它们的介绍在最下面。

#date("Y-m-d H:i:s", $value["dateline"], 1)#

时间戳,它是一个长度为10的整数,是计算的1970年1月1日零时起所过去的秒数。

如:#date(“Y年n月j日”, 1248316413)#对应的时间是:2009年7月23日

三、url链接 #uid/$uid/op/$param#与#action/参数#,这两个标签解析后将会转换成

第一种:#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

在模板文件中都会有这样一句:

  

意思就是加载header.html.php模板。

五、等价php语句来执行 {eval php语句},它相当于php中的eval函数,作用就是将大括号中的语句作为{eval $i=1;},将$i赋值为1

注意:在用{eval php语句}时中间不要出现“{”、“}”,否则系统会无法解析里面的php语句,建议写成一行一句的样式。

六、输出字符 {echo $value},作用是$value 只能是字符串

  
{echo $value} //将显示:你好。

七、if语句 {if $value},{elseif $value},{else},{/if}:这几个标签组合起来将转换成if/else语句,$value是的条件,在它后面不用写括号

在index.html.php模板文件关于调查的代码中有以下几句用的就是这几个标签:

        <!--{if empty($_SBLOCK['poll'])}-->
	<li>暂时没有调查
        <!--{else}-->
        <!--{loop $_SBLOCK['poll'] $value}--></li>	<li><a title="$value[subjectall]" href="$value[url]">$value[subject]</a>
        <!--{/loop}--></li>
        <!--{/if}-->

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

八、loop循环,有两种形式

1、{loop $value1 value2} {/loop}将转换成foreach($value1 as $value2){}语句,作用是遍历数组

$value1是要遍历的数组,$value2是每次遍历的值

在index.html.php模板文件关于公告的代码中有以下几句用的就是这几个标签:

        <!--{loop $_SBLOCK['announce'] $value}-->	<li><a title="$value[subjectall]" href="$value[url]">$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模板文件展示导航条的代码中有以下几句用的就是这几个标签:

        <!--{loop $channels['menus'] $key $value}-->	<li><a href="$value[url]">$value[name]</a></li>
        <!--{/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;

你可能感兴趣的:(数据,模板,职场,休闲,supesite)