完美解决Dedecms V5.3的TAG的相关问题的办法!

新客网 XKER.COM 时间:2009-03-13 21:24:04来源:论坛转载 蓝手套 评论:
已经可以正常现实文章页面的 TAG 带链接哦,而且升级前文章的TAG 都已经恢复了。

其实修复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上面的代码哦,更加自己的实际情况修改表前缀.

本文来源:论坛转载

如果您喜欢本文请分享给您的好友,谢谢!如想浏览更多更好的建站程序内容,请登录:http://www.xker.com/edu/website/6/index.html

相关内容标签:建站程序 dedecms织梦TAG
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
  • 游客
    2011-03-26 16:08:46发表

    谢谢,问题解决了!