dedecms5.1升级为5.3导致TAG丢失等问题处理_dedecms_CMS教程

其实修复TAG问题的回答论坛上很多人都已经回答过了,可能是大家都没有认真的去尝试,并不是人家提供的代码不对 dD0迪尔课堂自学网-|第二课堂|--(官网)
而是你不能完全的COPY人家的代码,很多代码要修改数据表前缀才能使用。 dD0迪尔课堂自学网-|第二课堂|--(官网)
下面介绍一下我解决TAG 问题的方法: dD0迪尔课堂自学网-|第二课堂|--(官网)
首先是在文章页面调用当前文章的TAG代码: dD0迪尔课堂自学网-|第二课堂|--(官网)
直接用Tag: {dede:field.tags/} 替换原来的代码 dD0迪尔课堂自学网-|第二课堂|--(官网)
比如说我网站以前获得当前文章TAG代码是这样的注意红色部分是代码,黑色你自己随便: dD0迪尔课堂自学网-|第二课堂|--(官网)
Tag :{dede:tag type='current'/} dD0迪尔课堂自学网-|第二课堂|--(官网)
所以现在的显示TAG地方的原代码是: dD0迪尔课堂自学网-|第二课堂|--(官网)
Tag: {dede:field.tags/} dD0迪尔课堂自学网-|第二课堂|--(官网)
dD0迪尔课堂自学网-|第二课堂|--(官网)
上面是第一部,下面要修改DEDE CMS 的相关文件了,打开/include/common.func.php这个文件 dD0迪尔课堂自学网-|第二课堂|--(官网)
找到 //获得某文档的所有tag 这一部分,把下面的这些代码 dD0迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
dD0迪尔课堂自学网-|第二课堂|--(官网)
function GetTags($aid) dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
global $dsql; dD0迪尔课堂自学网-|第二课堂|--(官网)
$tags = ''; dD0迪尔课堂自学网-|第二课堂|--(官网)
$query = "Select tag From [url=mailto:`ddmx_taglist]`ddmx_taglist[/url]` where aid='$aid' "; dD0迪尔课堂自学网-|第二课堂|--(官网)
$dsql->Execute('tag',$query); dD0迪尔课堂自学网-|第二课堂|--(官网)
while($row = $dsql->GetArray('tag')) dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']); dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
return $tags; dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
function ParamError() dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
ShowMsg('对不起,你输入的参数有误!','javascript:;'); dD0迪尔课堂自学网-|第二课堂|--(官网)
exit(); dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
dD0迪尔课堂自学网-|第二课堂|--(官网)
替换成为下面的这些代码,期间要根据自己的实际情况修改自己的表前缀。 dD0迪尔课堂自学网-|第二课堂|--(官网)
注意下面的那个'dede_dedecmstaglist',根据自己的表前缀修改一下吧。 dD0迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
dD0迪尔课堂自学网-|第二课堂|--(官网)
function GetTags($aid) dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
global $dsql; dD0迪尔课堂自学网-|第二课堂|--(官网)
$tags = ''; dD0迪尔课堂自学网-|第二课堂|--(官网)
$query = "Select tag From `dede_dedecmstaglist` where aid='$aid' "; dD0迪尔课堂自学网-|第二课堂|--(官网)
$dsql->Execute('tag',$query); dD0迪尔课堂自学网-|第二课堂|--(官网)
while($row = $dsql->GetArray('tag')) dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
$tags .= ($tags=='' ? "<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>"); dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
return $tags; dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
function ParamError() dD0迪尔课堂自学网-|第二课堂|--(官网)
{ dD0迪尔课堂自学网-|第二课堂|--(官网)
ShowMsg('对不起,你输入的参数有误!','javascript:;'); dD0迪尔课堂自学网-|第二课堂|--(官网)
exit(); dD0迪尔课堂自学网-|第二课堂|--(官网)
} dD0迪尔课堂自学网-|第二课堂|--(官网)
dD0迪尔课堂自学网-|第二课堂|--(官网)
OK,现在只要你的文章的TAG没有丢失的话,完成上面的步骤就可以在文章页调用带链接的文章TAG了。 dD0迪尔课堂自学网-|第二课堂|--(官网)
如果你的TAG在升级过程中丢失的话,那么执行下面的步骤吧。 dD0迪尔课堂自学网-|第二课堂|--(官网)
进入你的网站管理后台 dD0迪尔课堂自学网-|第二课堂|--(官网)
选择“系统”----------“SQL命令行工具” dD0迪尔课堂自学网-|第二课堂|--(官网)
运行SQL命令: dD0迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
dD0迪尔课堂自学网-|第二课堂|--(官网)
UPDATE dede_tagindex,dede_taglist SET dede_taglist.tag = dede_tagindex.tag WHERE dede_taglist.tid=dede_tagindex.id; dD0迪尔课堂自学网-|第二课堂|--(官网)
dD0迪尔课堂自学网-|第二课堂|--(官网)
注意不要完全COPY上面的代码哦,更加自己的实际情况修改表前缀.

扫一扫手机访问