先分析204行的代码,细心的朋友可能已经发现,解决后的代码比解决前少了&& !empty($this->Fields['keywords'] 对就是这个原因,dede获取关键词的时候要判断你这篇文章是否填了关键词,这个我们一半不填,所以把他去掉就行了,还有的朋友说应该把cfg_keyword_replace 换成 cfg_keyword_like 他认为是dede的人写错了,其实是自己没有看清罢了,其实不用换这个的,因为他们代表的就不是一个意思。
cfg_keyword_replace是指关键字替换(是/否)使用本功能会影响HTML生成速度: 这项 而cfg_keyword_like 是指使用关键词关连文章:
然后我们在分析ReplaceKeyword 原本的dede是从你所填的tag里 遍历tags,然后与你设置的文档关键词相比较,如果找到了,就将这个关键词替换成带链接的关键词,如果tags为空,就无法执行了。这就是为什么大家使用文档关键词关联文章失败的原因,而解决方法中,直接不让他遍历tags,直接去替换,这样就解决了。
但是出现了几个问题。1,这样解决在生成文章的时候速度会降低,2,无法控制总的关键词链接数量。希望有高手能够解决下。