我在发布文章的时候都没有加上链接,现在去文章里面去看,是有链接的,所以这些链接都是自动加的。 这其实也就是实现了DEDE自动加内链的功能。dede在发布文章时自动加上关键词链接这篇文章的内容如下:

1、进入后台,系统,系统基本参数,核心设置,关键字替换(是/否),这里选择“是”。

2、然后“采集”,“文档关键词维护”,在这里面设置关键词,指向网址。这里,我设置的是“健康591网”与“it健康网”都链向http://www.it591.org。注意:这里频率不是指关键词出现的次数。

3、在发布文章时,在“TAG标签”里,输入相应的关键词:健康591网与it健康网。注意,使用dede后台设置,就必须这样设置,不然起不了作用。

以上只针对dedecms V5.3中设置的步骤。这个功能是实现了,但很麻烦,我每次发文章的时候,在TAG标签里面都得输入相应的关键词,很麻烦。修改以下代码就可以不用设置第三步就可以实现自动加内链了。而且dedecms V5.3以上版本都支持:

修改文件 /include/arc.archives.class.php ,找到这一段:

以下为引用的内容:
foreach($kws as $k)
  {
   $k = trim($k);
   if($k!="")
   {
    if($i > $maxkey)
    {
     break;
    }
    $myrow = $this->dsql->GetOne("select * from
cz_keywords where keyword='$k' And rpurl<>'' ");
    if(is_array($myrow))
    {
     $karr[] = $k;
     $GLOBALS['replaced'][$k] = 0;
     $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
    }
    $i++;
   }
  }

把它替换成:

以下为引用的内容:

global $dsql;
        $query="SELECT * FROM
cz_keywords WHERE rpurl<>'' ORDER BY rank DESC";
        $dsql->SetQuery($query);
        $dsql->Execute();
        while($row = $dsql->GetArray())
  {
   $key = trim($row['keyword']);
   $key_url=trim($row['rpurl']);
   $karr[] = $key;
   $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";
  }

通过以上代码,只要在“文档关键词维护”设置了带有链接的关键词,就可以实现在发布文章时自动就有会链接了。但相同的关键词出现了5次,这样就有5个链接,这样好像不太好,但我还没有找到解决的办法。希望有实现这个功能的高手指导一下。