欢迎光临
我们一直在努力

DEDECMS在文章页显示tags标签并加上链接的方法

在织梦5.5中找到文件/include/common.func.php中的GetTags函数:

function GetTags($aid)
{
 global $dsql;
 $tags = '';
 $query = "Select tag From `#@__taglist` where aid='$aid' ";
 $dsql->Execute('tag',$query);
 while($row = $dsql->GetArray('tag'))
 {
  $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
 }
 return $tags;
}

该函数,使用{dede:field.tags/}可输出tags标签文字,但没有链接。如果修改红字部分,给这些标签加上链接,文章页显示正常了,但后台编辑文章时tags表单中就会出现链接内容,诸如:<a href='/tags.php?/关键词1' target='_blank'>关键词1</a> <a href='/tags.php?/关键词2' target='_blank'>关键词2</a> … 等等。

 

为了不和后台编辑表单冲突,其实可单独定义一个函数,和GetTags函数类似,只是多出了链接部分。这里,函数名称定为Tagslink,使用{dede:field.tagsurl/}调用输出。

首先,在 /include/common.func.php 中定义如下函数(注意红字部分和GetTags函数的区别):
function Tagslink($aid)
{
 global $dsql;
 $tagsurl = '';
 $query = "Select tag From `#@__taglist` where aid='$aid' ";
 $dsql->Execute('tag',$query);
 while($row = $dsql->GetArray('tag'))
 {
  $tagsurl .= ($tagsurl=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."/' title='{$row['tag']}' target='_blank'>{$row['tag']}</a>" : '  '."<a href='/tags.php?/".urlencode($row['tag'])."/' title='{$row['tag']}'  target='_blank'>{$row['tag']}</a>");
 }
 return $tagsurl;
} 

然后,在 /include/arc.archives.class.php 中,找到这句:
$this->Fields['tags'] = GetTags($aid);

在下面加一行:
$this->Fields['tagsurl'] = Tagslink($aid);

现在,把{dede:field.tagsurl/}加入文章页相应位置,可以看到效果了吧。另外,函数中<a href='/tags.php?/".urlencode($row['tag'])."/'部分,必须使用urlencode转换一下tags标签文字,要不然,链接文字为奇数时,将提示标签不存在。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:枫叶博客 » DEDECMS在文章页显示tags标签并加上链接的方法

分享到: 生成海报
avatar

热门文章

  • 评论 3

    Captcha Code

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址
    1. #1
      avatar

      你应该有很多网站把

      阅网博客12年前 (2010-08-23)国内网友回复
    2. #2
      avatar

      没有,就这一个博客

      枫叶博客12年前 (2010-08-23)国内网友回复
    3. #3
      avatar

      测试一下

      qyuef12年前 (2010-08-29)国内网友回复

    枫叶博客

    联系我们联系我们

    登录

    忘记密码 ?