一、{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模板文件關于調查的代碼中有以下幾句用的就是這幾個標簽:
<!--{if empty($_SBLOCK['poll'])}--> <li>暫時沒有調查</li> <!--{else}--> <!--{loop $_SBLOCK['poll'] $value}--> <li><a href="$value[url]" title="$value[subjectall]">$value[subject]</a></li> <!--{/loop}--> <!--{/if}--> |
意思是判斷$_SBLOCK['poll']是否為空,為空則顯示“暫時沒有調查”,不為空則顯示出調查的數據。