我們在使用織夢dedecms建站中,很多的時候可能需要用到在網站首頁根據要求調用某個欄目下的Tag,就是按欄目調出Tag,這個時候我們就需要用到DEDE的SQL運行功能。關于織夢dedecms的SQL語句361源碼前面做個比較詳細的介紹,如《DedeCMS織夢sql模板標簽調用代碼大全》、《15條織夢DedeCMS最常用的SQL語句》等,需要了解的朋友可以移步參看。
{dede:sql sql="select * from dede_archives a left join dede_taglist t on a.id=t.aid where a.typeid='10' limit 4"} <a href='/tags.php?[field:tag/]' target="_blank" title="[field:tag /]">[field:tag /]</a>{/dede:sql}這里typeid=‘10’可以改成你實際要調用的欄目ID,limit 4這個是調用多少個TAG出來
以上的代碼是隨便哪里都可以用
如果是要在欄目頁調用,還有一個代碼
[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]如果是DEDE5.7 及之后的版本,可以直接在欄目頁用
[field:id function=GetTags(@me)/]
就能直接調用,但是調用出來是不帶鏈接的,如果需要鏈接,請注釋掉include/helpers/archive.helper.php文件的130行:
$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
用下面語句替換,當然你也可以加入自己的樣式:
$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";
這樣就可以實現直接調用而且帶有鏈接了。
新聞熱點
疑難解答