dedecmsV5.7文档关键词实现自动链接解决方案

需要以下设置:

1、后台-采集-文档关键词维护 添加关键词及链接
2、后台-系统-核心设置 关键字替换(是/否)使用本功能会影响HTML生成速度: 是
3、后台-系统-其他选项 文档内容同一关键词替换次数(0为全部替换): 设置一个数值 (这里顺便提一下,比如一篇文章含有互相包含关键词,比如dede和dedecms,系统会把后面的dedecms会被dede替代,我的做法是,关键词替换次数设置为1次,然后文档关键词维护那里把dede和dedecms的频率设置成一样,就搞定了。

修改文件:/include/arc.archives.class.php

修改方法:
查找代码:

 

  1. foreach($kws as $k)
  2.  
  3.   {
  4.  
  5.    $k = trim($k);
  6.  
  7.    if($k!=”")
  8.  
  9.    {
  10.  
  11.     if($i > $maxkey)
  12.  
  13.     {
  14.  
  15.      break;
  16.  
  17.     }
  18.  
  19.     $myrow = $this->dsql->GetOne("select * from dede_keywords where keyword=’$k’ And rpurl<>” ");
  20.  
  21.     if(is_array($myrow))
  22.  
  23.     {
  24.  
  25.      $karr[] = $k;
  26.  
  27.      $GLOBALS['replaced'][$k] = 0;
  28.  
  29.      $kaarr[] = "<a href=’{$myrow['rpurl']}’><u>$k</u></a>";
  30.  
  31.     }
  32.  
  33.     $i++;
  34.  
  35.    }
  36.  
  37.   }

将以上代码替换为以下代码:

 

 

  1.  
  2. global $dsql;
  3.  
  4.         $query="SELECT * FROM dede_keywords WHERE rpurl<>” ORDER BY rank DESC";
  5.  
  6.         $dsql->SetQuery($query);
  7.  
  8.         $dsql->Execute();
  9.  
  10.         while($row = $dsql->GetArray())
  11.  
  12.   {
  13.  
  14.    $key = trim($row['keyword']);
  15.  
  16.    $key_url=trim($row['rpurl']);
  17.  
  18.    $karr[] = $key;
  19.  
  20.    $kaarr[] = "<a href=’$key_url’ target=’_blank’><u>$key</u></a>";
  21.  
  22.   }
  23.  

 

怕改错的,直接下载我修改好的附件,修改和覆盖前记得备份哈。

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论