今天AB網(wǎng)站模板網(wǎng)下午寫了個(gè)dedecms的標(biāo)簽云效果,但是發(fā)現(xiàn)無論如何都不能按照sort = 'hot'進(jìn)行排序(我的意思想按照包含此tag的文章數(shù)目進(jìn)行降序排序),我想查看下5.5模板參考手冊(cè).發(fā)現(xiàn)沒有模板標(biāo)簽參考手冊(cè)只有5.3的,查看了下手冊(cè),發(fā)現(xiàn)手冊(cè)中是這樣說的:Quote:tag|TAG調(diào)用
標(biāo)簽名稱:tag
功能說明:TAG調(diào)用標(biāo)簽
適用范圍:全局使用
基本語法:
{dede:tag sort='new' getall='0'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
相關(guān)函數(shù):
文件\include\taglib\tag.lib.php第4行
function lib_tag(&$ctag,&$refObj)
參數(shù)說明:
row='30' 調(diào)用條數(shù)
sort='new' 排序方式 month,rand,week
getall='0' 獲取類型 0 為當(dāng)前內(nèi)容頁TAG標(biāo)記,1為獲取全部TAG標(biāo)記
底層模板字段:
沒有sort = ‘hot’ 這個(gè)屬性。于是查看了下dedecms 5.3 的tag標(biāo)簽解析文件發(fā)現(xiàn)有如下幾句代碼:
if($ltype=='rand') $orderby = ' rand() ';
else if($ltype=='week') $orderby=' weekcc desc ';
else if($ltype=='month') $orderby=' monthcc desc ';
else if($ltype=='hot') $orderby=' count desc ';
else $orderby = ' addtime desc ';
這段代碼就是決定排序方式的判斷語句 ,因?yàn)槟阕x著段代碼上邊有一句 $ltype = $sort; ,可知是把$sort的值賦給$ltype,其中這句
else if($ltype=='hot') $orderby=' count desc ';
表示sort = ‘hot’方式排序 ,從數(shù)據(jù)庫中讀取的時(shí)候是按照count字段進(jìn)行降序排列的,然而你再查看下數(shù)據(jù)表中dede_tagindex表,發(fā)現(xiàn)count字段的值全部為零,不知道為何全部為零,我估計(jì)count是記錄tag點(diǎn)擊次數(shù)的。此表中還有一個(gè)字段是total,這個(gè)的值表示包含這個(gè)tag的文章數(shù)目有多少,我想有些人想按照包含tag文章數(shù)目多少來為tag排序吧,反正我是這么想的,我我認(rèn)為這樣對(duì)seo很有幫助,主要是dede的tag在百度中權(quán)重很高,所以我覺得可以在
else if($ltype=='hot') $orderby=' count desc ';
后邊加
else if($ltype=='num) $orderby=' total desc ';
代碼 ,在模板中就可以用sort=‘num’ 來進(jìn)行排序,表示按照包含tag的文章數(shù)目進(jìn)行排序了。