av片在线观看网站-高清视频一区二区三区-日本三级2018-成人性视频网站-久久观看-亚洲午夜在线-国产精品自拍亚洲-无码日日模日日碰夜夜爽-欧美乱插-福利一区福利二区-亚洲国产成人av-日本国产成人国产在线播放-日韩亚洲精品视频-日批免费观看视频-台湾av在线播放

2023-11-27 315264

首頁 » 文檔 » 開發指南

DESTOON標簽(tag)調用手冊

什么是標簽調用?
標簽調用是根據調用條件(condition)數據表(table)讀取調用數量(pagesize)條數據,并按排序方式(order)排序,最終通過標簽模板(template)的布局輸出數據。
可以看出,標簽的工作分兩個部分,一是讀取數據,二是顯示數據。

標簽函數原型
標簽函數保存于 include/tag.func.php
tag($parameter, $expires = 0)
$parameter 表示傳遞給tag函數的字符串,系統自動將其轉換為多個變量。
例如傳遞 table=destoon&pagesize=10&hello=world
系統相當于得到:
$table = 'destoon';
$pagesize = 10;
$hello = 'world';
三個變量
$expires 表示標簽緩存過期時間
>0 緩存$expires秒;0 - 系統默認標簽緩存時間;-1 - 不緩存;-2 - 緩存SQL結果;
一般情況保持默認不需要傳遞。

數據讀取過程
例如以下標簽:
<!--{tag("moduleid=5&condition=status=3&order=addtime desc&pagesize=10")}-->
會被轉換為如下的SQL語句:
SELECT *
FROM destoon_sell
WHERE status=3
ORDER BY addtime DESC
LIMIT 0,10
讀出的數據會保存在 $tags 數組里
通常情況下不需要寫table=xxx,應該寫moduleid=模塊ID,系統會自動對應模塊的表

數據顯示過程
1、通過標簽模板顯示
傳遞&template=abc給標簽函數,例如:
<!--{tag("moduleid=...&template=abc")}-->
默認的標簽模板保存在模板目錄/tag/目錄里,例如&template=abc將調用模板目錄/tag/abc.htm模板來顯示數據。
如果標簽模板存放于其他目錄,例如def,則傳遞&dir=def&template=abc,系統將調用模板目錄/def/abc.htm模板。

2、直接在模板里循環數據
<!--{php $tags=tag("moduleid=...&template=null");}-->
此寫法傳遞標簽模板為null,并且直接返回數據給$tags數組,此時可以直接在模板里循環了。
以下為一個完整的示例:
<!--{php $tags=tag("moduleid=...&template=null");}-->
{loop $tags $t}
...
{/loop}

第一種寫法一般用于多次調用的數據,第二種寫法一般用于只調用一次的數據。

常用參數及含義
moduleid
moduleid指模塊ID,可在后臺模塊管理里查詢。對于直接調用模塊的數據,設置正確的模塊ID后,將不需要傳遞table參數,系統會自動獲取。
例如傳遞moduleid=5,系統將識別為調用供應信息,自動設置table參數為sell。
一般情況下,除了擴展模塊里的功能都需要通過moduleid來調用。
table
table指表名,可在后臺數據庫維護里查詢。對于DESTOON系統表,不需要加表的前綴;對于非DESTOON系統表,需要填寫完整的表名,且傳遞prefix參數。
例如對于DESTOON系統表,傳遞table=announce,如果表前綴為destoon_,系統將識別表名為 destoon_announce。
對于非DESTOON系統表,傳遞table=tb_abc&prefix=或者table=abc&prefix=tb_,系統將識別表名為 tb_abc。
fields
fields指查詢的字段,默認為*。可以傳遞例如 fields=title,addtime,但是一般情況下無需傳遞,DESTOON獨有的標簽緩存機制會自動緩存查詢結果,不必擔心效率問題。
condition
condition指查詢的條件,如果不傳遞,則為1,代表任意條件的數據(此項需了解SQL語法)。DESTOON所有模塊遵循統一標準開發,所以很多條件是通用的。
例如 status=3表示正常通過的信息、status=3 and level=1表示級別為1的信息、status=3 and thumb<>''表示有標題圖片的信息等。
order
order指數據的排序方法(此項需了解SQL語法)。
例如order=addtime desc表示按添加時間降序排列、order=itemid desc表示按itemid降序排列、order=rand()表示隨機數據等。
pagesize
pagesize指調用數據的數量,如果不傳遞,默認為10。
template
template指指定的標簽模板,如果不傳遞,默認為list,位于模板目錄/tag/list.htm,如果傳遞為null,表示不應用標簽模板。參見上述數據顯示過程。
debug
debug參數用于調試標簽,例如傳遞&debug=1,系統將輸出標簽構造成的SQL語句,以便驗證標簽寫法是否正確,不需要調試的標簽不用加此參數。
sql
自V9.0,支持直接傳入SQL語句實現復雜的查詢,例如 sql=SELECT * FROM destoon_member m,destoon_company c WHERE c.userid=m.userid AND c.vip>0 LIMIT 10

數據字典
參考:http://www.xezzhyv.com.cn/doc/develop/56.html

其他常見用法舉例

&和and的區別
&用來分割參數,and是sql語句where后的讀取條件,二者完全不同。

多表聯合查詢
例如查詢會員名為destoon的會員和公司資料,可以使用:
{tag("table=destoon_member m,destoon_company c&prefix=&condition=m.userid=c.userid and m.username='destoon'&template=list-com")}
destoon_member和destoon_company是表的實際名稱(包含表前綴),prefix=表示系統不再自動在表名前加前綴。
通常通過傳遞moduleid可以實現大部分的調用,除非您確認熟悉聯合查詢,否則不推薦使用。
截至目前,系統默認模板里還沒有一個功能需要用到聯合查詢。

控制標題長度
在標簽里傳遞length參數,例如&length=20表示20個字符長度(一個漢字占2個字符),一般情況建議用css隱藏多余字符(定義height和overflow:hidden)。
傳遞length參數,系統僅對title字段自動截取,如果需要截取其他字段,可用dsubstr函數。
例如 {dsubstr($t[company], 20, '...')} 表示截取company字段為20個字符,截取后,結尾追加...

設置日期顯示格式
可以在標簽里傳遞datetype參數:
1 表示 年;
2 表示 月-日;
3 表示 年-月-日;
4 表示 月-日 時:分;
5 表示 年-月-日 時:分;
6 表示 年-月-日 時:分:秒
也可以在模板里直接使用date函數,例如{date('Y-m-d', $t[addtime])} 表示將時間轉換為 年-月-日 格式
date函數的使用請參閱PHP手冊。

調用某一分類的信息
在標簽里傳遞catid參數,例如&catid=5表示調用分類ID為5的所有信息。
如果調用多個分類,用逗號分隔分類ID,例如 &catid=5,6,7表示調用分類ID為5、6、7的所有信息。
分類調用默認包含子分類的信息,如果不需要包含子分類,可設置&child=0參數。
例如&catid=5&child=0表示只調用分類ID為5的信息,不包括子分類的信息。

調用某一地區的信息
調用地區信息和上述調用分類信息的方法完全相同,將其中的catid換為areaid即可。

顯示信息所在分類
<a href="{$MODULE[$moduleid][linkurl]}{$CATEGORY[$t[catid]][linkurl]}">{$CATEGORY[$t[catid]][catname]}</a>
注意:自V4.0,以上寫法將不可用,需要在標簽里傳遞&showcat=1參數,然后在模板里寫<a href="{$t[caturl]}">{$t[catname]}</a>

控制列數
此項常用于圖片的布局,可使用cols參數。
例如調用12張圖片,一行顯示4個,共3行,則傳遞&pagesize=12&cols=4
支持cols參數的標簽模板限thumb-table.htm和list-table.htm
其中,thumb-table.htm顯示圖片列表,list-table.htm顯示文字列表
如果新建支持cols的標簽模板或直接循環$tags,可參考以上兩個模板的寫法
上述效果可以也可以通過CSS實現,無需使用表格,請自行書寫

顯示文章的簡介
使用{$t[introduce]}變量,如果要截取字數,例如80字符,可使用{dsubstr($t[introduce], 80, '...')}


小結
標簽看似復雜難懂,實際上在理解各個參數的含義和調用流程后,您會了解到標簽實際簡單自由、靈活易用、功能強大。
默認模板里已提供了大量的調用范例和標簽模板,可以在學習中參閱和調試。
標簽調用是制作模板必備的知識,希望您能早日掌握。


模板 標簽 調用 手冊 數據 排序 布局
以上內容是否對您有幫助?點擊反饋加群交流

 
公司簡介   |   聯系方式   |   合作代理   |   隱私政策   |   使用協議   |   意見反饋    
主站蜘蛛池模板: 欧美极品少妇xxxxx| 按摩ⅹxxx性hd中国| 午夜老司机福利| 国产精品夜夜| 国产极品视频在线观看| 成年网站视频| 哺乳期给上司喂奶hd| 97人人干| 亚洲 欧美 日韩 国产综合 在线 | 黄色在线观看视频网站| 色撸撸在线| 国产女人高潮毛片| 久久国内偷拍| 色狠狠一区| 亚洲丁香| 天天射视频| 亚洲综合999| 欧美日韩色综合| 波多野结衣啪啪| 91精品婷婷国产综合久久竹菊| 天天看夜夜操| 国产av不卡一区二区| 精品国产无码一区二区| 日日夜夜狠狠干| 国产精品久久久久电影| 91免费国产精品| 射婷婷| 欧美成人性生活视频| 捆绑美女调教| 国产极品福利| 中文字幕电影av| 美女91网站| 白丝校花扒开腿让我c| 亚洲aⅴ在线观看| 久久图库| 乱lun合集男男高h| 日韩一级成人| 久久精品视频9| 无套白嫩进入乌克兰美女| 欧美黑人猛交| 91香蕉视频app污| 2024男人天堂| 最新国产在线| 亚洲AV无码久久精品浪潮| 亚洲成a人片777777久久| 国产污污视频| av加勒比| 好爽又高潮了| 国产动漫av| 免费成人小视频| 激情视频网页| 男男生子边做边生h嗯哈| 天天撸天天射| 国产成人av| 日韩美女黄色片| 日本少妇中出| 亚洲综合五月天婷婷丁香| 美国少妇性做爰| 欧美三级免费看| 免费国产精品视频| 成人观看网站| 猛猛干| 欧美日韩中文字幕在线观看| 轻轻色在线| 一级美女黄色片| 亚洲精品电影在线观看| 日韩成人免费观看视频| 女性裸体视频网站| 男人天堂视频在线| 久久天堂热| 性饥渴的农村熟妇| 亚洲制服av| 午夜视频福利网站| 天天色天天射综合网| av第一区| 综合天天久久| 日韩欧美在线视频播放| 国产91一区| 欧美三级一级片| 美女网站免费视频| 舔下面的视频| 久久中文字幕免费视频| 欧美性xxxxxxxxx| 美女视频在线观看免费| 日韩合集床戏3小时| 黄站在线观看| 校园春色亚洲| 日韩在线观看免费av| 蜜桃tv在线| 第一福利视频导航| 麻豆福利影院| 日韩av网站在线| 男人久久久| 91变态视频| 少妇高潮zzzz2xm麻豆| 粉嫩视频在线观看| 人妻少妇精品视频一区二区三区| 免费日批网站| 日韩成人免费在线视频|