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