dedecms5.1升級(jí)為5.3導(dǎo)致tag丟失怎么辦?
dedecms5.1升級(jí)為5.3導(dǎo)致TAG丟失等問(wèn)題處理
已經(jīng)可以正常現(xiàn)實(shí)文章頁(yè)面的 TAG 帶鏈接哦,而且升級(jí)前文章的TAG 都已經(jīng)恢復(fù)了。下面是具體的解決方法。主要是最后的那句sql執(zhí)行以下即可。
??推薦學(xué)習(xí):織夢(mèng)cms
其實(shí)修復(fù)TAG問(wèn)題的回答論壇上很多人都已經(jīng)回答過(guò)了,可能是大家都沒(méi)有認(rèn)真的去嘗試,并不是人家提供的代碼不對(duì)?
而是你不能完全的copy人家的代碼,很多代碼要修改數(shù)據(jù)表前綴才能使用。?
下面介紹一下我解決TAG 問(wèn)題的方法:?
首先是在文章頁(yè)面調(diào)用當(dāng)前文章的TAG代碼:?
直接用Tag: {dede:field.tags/} 替換原來(lái)的代碼?
比如說(shuō)我網(wǎng)站以前獲得當(dāng)前文章TAG代碼是這樣的注意紅色部分是代碼,黑色你自己隨便:?
Tag :{dede:tag type=’current’/}?
所以現(xiàn)在的顯示TAG地方的原代碼是:?
Tag: {dede:field.tags/}?
上面是第一部,下面要修改DEDE CMS 的相關(guān)文件了,打開(kāi)includecommon.func.php這個(gè)文件?
找到 //獲得某文檔的所有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('對(duì)不起,你輸入的參數(shù)有誤!','javascript:;');? exit();? }
替換成為下面的這些代碼,期間要根據(jù)自己的實(shí)際情況修改自己的表前綴。?
注意下面的那個(gè)’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>{$row['tag']}</a>"?:?','."<a>{$row['tag']}</a>");? }? return?$tags;? }? function?ParamError()? {? ShowMsg('對(duì)不起,你輸入的參數(shù)有誤!','javascript:;');? exit();? }
OK,現(xiàn)在只要你的文章的TAG沒(méi)有丟失的話,完成上面的步驟就可以在文章頁(yè)調(diào)用帶鏈接的文章TAG了。?
如果你的TAG在升級(jí)過(guò)程中丟失的話,那么執(zhí)行下面的步驟吧。?
進(jìn)入你的網(wǎng)站管理后臺(tái)?
選擇“系統(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上面的代碼哦,更加自己的實(shí)際情況修改表前綴.