POST TIME:2020-03-31 15:20
標(biāo)簽名稱:tag
功能說明:TAG調(diào)用標(biāo)簽
適用范圍:全局使用
DEDECMS的tags調(diào)用的基本語法是:
{dede:tag sort='new' getall='0'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}
參數(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)記,底層模板字段,link和tag。
但是我們知道dede默認(rèn)在列表是無法調(diào)用tag標(biāo)簽的,是用全部還是當(dāng)前頁?顯然全部的話和分類信息又有些不著調(diào),如果用當(dāng)前頁的話,沒有文章id,你也調(diào)不出東西來。難道這就沒轍了嗎?
方法1:
在列表需要的位置加入下列代碼
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");
$tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])。"'>".$row['tagname']."</a>";
}
@me=$tags;
[/field:id]
方法2:
在inc_functions.php文件里加入
function listtag($aid){
$tsql = new DedeSql(false);
$tags = '';
$tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='$aid'"); $tsql->Execute('t');
while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
$tags .= "<a href='/tag.php?/".urlencode($row['tagname'])。"'>".$row['tagname']."</a>";
}
return $tags;
} 然后在列表頁相應(yīng)位置加入[field:ID function="listtag(@me)"/]標(biāo)記??戳艘幌?.7版本的DedeCMs里面關(guān)于tag的調(diào)用,雖然也有typeid的參數(shù)了,但是你打開數(shù)據(jù)庫看看就會(huì)發(fā)現(xiàn),雖然dede_tagindex表里面也有了typeid的字段。但是默認(rèn)值都是0.這樣代碼中的sql語句就沒有任何作用了,反而家里typeid參數(shù)取不出數(shù)據(jù)來。