dedecms5.1升級為5.3導致TAG遺失怎麼辦?
##dedecms5.1升級為5.3導致TAG丟失等問題處理
已經可以正常現實文章頁面的TAG 帶鏈接哦,而且升級前文章的TAG 都已經恢復了。下面是具體的解決方法。主要是最後的那句sql執行以下即可。 推薦學習:其實修復TAG問題的回答論壇上很多人都已經回答過了,可能是大家都沒有認真的去嘗試,不是人家提供的程式碼不對 而是你不能完全的COPY人家的程式碼,很多程式碼要修改資料表前綴才能使用。 下面介紹一下我解決TAG 問題的方法: 首先是在文章頁面呼叫目前文章的TAG程式碼: 直接用Tag: {dede:field.tags /} 取代原來的程式碼 比如說我網站以前取得目前文章TAG程式碼是這樣的注意紅色部分是程式碼,黑色你自己隨便: Tag :{dede:tag type= 'current'/} 所以現在的顯示TAG地方的原始程式碼是: Tag: {dede:field.tags/} 上面是第一部,下面要修改DEDE CMS 的相關文件了,打開\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('对不起,你输入的参数有误!','javascript:;'); exit(); }取代成為下面的這些程式碼,期間要根據自己的實際情況修改自己的表前綴。 注意下面的那個'dede_dedecmstaglist',根據自己的錶前綴修改一下吧。 程式碼如下:
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('对不起,你输入的参数有误!','javascript:;'); exit(); }OK,現在只要你的文章的TAG沒有遺失的話,完成上面的步驟就可以在文章頁呼叫帶連結的文章TAG了。 如果你的TAG在升級過程中遺失的話,那麼執行下面的步驟。 進入你的網站管理後台 選擇「系統」----------「SQL命令列工具」 執行SQL指令: ##程式碼如下:
UPDATE dede_tagindex,dede_taglist SET dede_taglist.tag = dede_tagindex.tag WHERE dede_taglist.tid=dede_tagindex.id;注意不要完全COPY上面的程式碼哦,更加自己的實際情況修改表前綴.
以上是dedecms5.1升級為5.3導致TAG遺失怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!