最近在給網站做二次改版開發的時候,為了達到優化的目的,實現在列表頁的頁面里調用來自內容頁的TAG標簽,本身列表頁調用了內容頁的標簽,本身可以增加列表頁的關鍵字的密度以外,還可以實現在TAG標簽里帶有超級鏈接,用戶直接點擊進入了標簽就可以進入到文章內容頁里調用了這個標簽的TAG的所有問題,對用戶體驗來說是相當的重要的,因此要實現這個效果,在網上找了許多的辦法,很多的方法都只是顯示了TAG標簽,可是本身卻沒有帶有超級鏈接,自己研究了好久,終于搞定了,因此就寫了這個教程分享給大家,希望對大家有幫助。下面就開始吧。
[field:id function=GetTags(@me)/] 標簽就可以調用出來了
只不過不帶連接的,如果需要連接,請注釋includehelpersrchive.helper.php文件130行
// $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
用下面語句替換,當然你也可以加入自己的樣式
$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";
在下面空白處加入 if ( ! function_exists('GetTagk')){ function GetTagk($aid) { global $dsql; $tagk = ''; $query = "SELECT tag,aid FROM `dede_taglist` WHERE aid='$aid' "; $dsql->Execute('tag',$query); while($row = $dsql->GetArray('tag')) { $tagk .= ($tagk=='' ? $row['tag'] : ','.$row['tag']); } return $tagk; } } 再打開dede/article_edit.php 找到$tags = GetTags($aid);再下面加$tagk = GetTagk($aid);再打開dede/templets/article_edit.htm再調用tag標簽那里把<?php echo $tags; ?>改成<?php echo $tagk; ?>這樣調用的時候可以調用tag,后臺顯示也能正常顯示。
修改tag限制12個字節的方法
修改有點復雜,涉及修改數據庫和源碼,有風險,修改前一定備份!
第一步:修改數據庫中表dede_tagindex 和dede_taglist的tag字段屬性:varchar(12)修改為varchar(255)
第二步:修改源碼,在include/archives.func.php中查找:if(isset($tag[12])
修改為:if(isset($tag[255])
在include/archives.func.php中查找:if(isset($tag[20])
修改為:if(isset($tag[255])
dede最新tag標簽調用方法,dede當月熱門tag標簽調用方法, dede隨機tag標簽調用方法, dede內容頁tag添加調用方法等等</p>
dedecms的tag調用支持最新、當月、隨機、內容頁
dede最新tag標簽
{dede:tag row='30' sort='new'} [field:highlight/]([field:result/]) {/dede:tag}
dede當月熱門tag標簽
{dede:tag row='30' sort='month'} [field:tagname/]([field:result/]) {/dede:tag}
dede隨機tag標簽
{dede:tag row='60' sort='rand'} [field:highlight/]([field:result/]) {/dede:tag}
dede內容頁tag添加
{dede:tag type='current'/}