發(fā)布時(shí)間:2020-06-16
欄目:其他
什么是標(biāo)簽調(diào)用?
標(biāo)簽調(diào)用是根據(jù)調(diào)用條件(condition)從數(shù)據(jù)表(table)讀取調(diào)用數(shù)量(pagesize)條數(shù)據(jù),并按排序方式(order)排序,最終通過標(biāo)簽?zāi)0宓牟季州敵鰯?shù)據(jù)。
可以看出,標(biāo)簽的工作分兩個(gè)部分,一是讀取數(shù)據(jù),二是顯示數(shù)據(jù)。
標(biāo)簽函數(shù)原型
標(biāo)簽函數(shù)保存于 include/tag.func.php
tag($parameter, $expires = 0)
$parameter 表示傳遞給tag函數(shù)的字符串,系統(tǒng)自動(dòng)將其轉(zhuǎn)換為多個(gè)變量。
例如傳遞 table=destoon&pagesize=10&hello=world
系統(tǒng)相當(dāng)于得到:
$table = 'destoon';
$pagesize = 10;
$hello = 'world';
三個(gè)變量
$expires 表示標(biāo)簽緩存過期時(shí)間
>0 緩存$expires秒;0 - 系統(tǒng)默認(rèn)標(biāo)簽緩存時(shí)間;-1 - 不緩存;-2 - 緩存SQL結(jié)果;
一般情況保持默認(rèn)不需要傳遞。
數(shù)據(jù)讀取過程
例如以下標(biāo)簽:
<!--{tag("moduleid=5&condition=status=3&order=addtime desc&pagesize=10")}-->
會(huì)被轉(zhuǎn)換為如下的SQL語句:
SELECT *
FROM destoon_sell
WHERE status=3
ORDER BY addtime DESC
LIMIT 0,10
讀出的數(shù)據(jù)會(huì)保存在 $tags 數(shù)組里
通常情況下不需要寫table=xxx,應(yīng)該寫moduleid=模塊ID,系統(tǒng)會(huì)自動(dòng)對(duì)應(yīng)模塊的表
數(shù)據(jù)顯示過程
1、通過標(biāo)簽?zāi)0屣@示
傳遞&template=abc給標(biāo)簽函數(shù),例如:
<!--{tag("moduleid=...&template=abc")}-->
默認(rèn)的標(biāo)簽?zāi)0灞4嬖谀0迥夸?tag/目錄里,例如&template=abc將調(diào)用模板目錄/tag/abc.htm模板來顯示數(shù)據(jù)。
如果標(biāo)簽?zāi)0宕娣庞谄渌夸洠鏳ef,則傳遞&dir=def&template=abc,系統(tǒng)將調(diào)用模板目錄/def/abc.htm模板Destoon批量刪除關(guān)鍵詞 。
2、直接在模板里循環(huán)數(shù)據(jù)
<!--{php $tags=tag("moduleid=...&template=null");}-->
此寫法傳遞標(biāo)簽?zāi)0鍨閚ull,并且直接返回?cái)?shù)據(jù)給$tags數(shù)組,此時(shí)可以直接在模板里循環(huán)了。
以下為一個(gè)完整的示例:
<!--{php $tags=tag("moduleid=...&template=null");}-->
Destoon采集軟件{loop $tags $t}
...
{/loop}
第一種寫法一般用于多次調(diào)用的數(shù)據(jù)Destoon批量更新文章 ,第二種寫法一般用于只調(diào)用一次的數(shù)據(jù)。
文章地址:http://www.meyanliao.com/article/other/DESTOONBBbqtagtysc.html