dedecms5.1升級為5.3導(dǎo)致TAG丟失等問題處理
時間: 2019-05-13 11:36
閱讀: 次
作者:素材無憂網(wǎng)
其實修復(fù)TAG問題的回答論壇上很多人都已經(jīng)回答過了,可能是大家都沒有認(rèn)真的去嘗試,并不是人家提供的代碼不對
而是你不能完全的COPY人家的代碼,很多代碼要修改數(shù)據(jù)表前綴才能使用。
下面介紹一下我解決TAG 問題的方法:
首先是在文章頁面調(diào)用當(dāng)前文章的TAG代碼:
直接用Tag: {dede:field.tags/} 替換原來的代碼
比如說我網(wǎng)站以前獲得當(dāng)前文章TAG代碼是這樣的注意紅色部分是代碼,黑色你自己隨便:
Tag :{dede:tag type='current'/}
所以現(xiàn)在的顯示TAG地方的原代碼是:
Tag: {dede:field.tags/}
上面是第一部,下面要修改DEDE CMS 的相關(guān)文件了,打開\include\common.func.php這個文件
找到 //獲得某文檔的所有tag 這一部分,把下面的這些代碼
代碼如下:
function GetTags($aid)
{
global $dsql;
$tags = '';
$query = "Select tag From [url=mailto:`ddmx_taglist]`ddmx_taglist[/url]` where aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
}
return $tags;
}
function ParamError()
{
ShowMsg('對不起,你輸入的參數(shù)有誤!','javascript:;');
exit();
}
替換成為下面的這些代碼,期間要根據(jù)自己的實際情況修改自己的表前綴。
注意下面的那個'dede_dedecmstaglist',根據(jù)自己的表前綴修改一下吧。
代碼如下:
function GetTags($aid)
{
global $dsql;
$tags = '';
$query = "Select tag From `dede_dedecmstaglist` where aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags .= ($tags=='' ? "<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>");
}
return $tags;
}
function ParamError()
{
ShowMsg('對不起,你輸入的參數(shù)有誤!','javascript:;');
exit();
}
OK,現(xiàn)在只要你的文章的TAG沒有丟失的話,完成上面的步驟就可以在文章頁調(diào)用帶鏈接的文章TAG了。
如果你的TAG在升級過程中丟失的話,那么執(zhí)行下面的步驟吧。
進(jìn)入你的網(wǎng)站管理后臺
選擇“系統(tǒng)”----------“SQL命令行工具”
運(yùn)行SQL命令:
代碼如下:
UPDATE dede_tagindex,dede_taglist SET dede_taglist.tag = dede_tagindex.tag WHERE dede_taglist.tid=dede_tagindex.id;
注意不要完全COPY上面的代碼哦,更加自己的實際情況修改表前綴.
標(biāo)簽: