重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

dedecms5.1升级为5.3导致TAG丢失的方法

小编给大家分享一下dedecms5.1升级为5.3导致TAG丢失的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

创新互联主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务墨竹工卡,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

dedecms5.1升级为5.3导致TAG丢失怎么办?

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

已经可以正常现实文章页面的 TAG 带链接哦,而且升级前文章的TAG 都已经恢复了。下面是具体的解决方法。主要是最后的那句sql执行以下即可。

推荐学习:织梦cms

其实修复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=='' ? "{$row['tag']}" : ','."{$row['tag']}"); 
} 
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丢失的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前名称:dedecms5.1升级为5.3导致TAG丢失的方法
文章出自:http://cqcxhl.com/article/pghpee.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP