emlog 版本5.3.1不能自动生成摘要,解决办法。

iigame2013 发布于:2014-11-12 22:30 分类:技术文档  有 573 人浏览,获得评论 0 条 标签: emlog5.3.1 自动生成摘要解决办法 自动摘要 

开始用emlog建站的时候,发现文章页的关键字是站点关键字+文章标签这种形式,这样会导致关键字过多,如果文章的内容和站点的关键字不是一类的话,这样显示也不太好,我倒不是很注重SEO,只是个人有点强迫症,所以必须要改掉它!还有就是描述,如果文章开头插入了图片视频等内容,这些代码已经远远超出99个字符,所以关键字会显示为空,这种问题其实应该属于BUG了吧!

搜索论坛,也没发现没有一个好的解决办法,也许是我没找到,于是就自己开始找问题的原因,经过一番努力,最终找到了一个完美的解决办法

先来说说关键字

现在的版本,站点关键字统一用"$site_key"来调用,首页分类页等显示正常,都是自己设置的站点关键字,但是文章页除了文章的标签外,前面也加上了站点的关键字,这样就导致关键字过多,重复,或者是与文章内容完全不搭的情况,在内核文件里翻了一圈相关文件,终于找到了问题所在。

1.把log_controller.php文件第87行的"$site_key .= ','.$value['tagname'];"改为"$log_key .= ','.$value['tagname'];",这里为日志单独建立关键字,而"$site_key"不需要为其赋值,他本来就表示站点关键字
2.然后在模板module.php文件里写个判断,判断首页、分类页等显示"$site_key",文章页显示"$log_key"
3.最后在模板的头文件调用这个函数即可!

下面是描述的解决办法其实这里只是官方内核里的一个小疏忽,一个逻辑上的错误,解决办法是把lib目录下的function.base里第177行的"strip_tags(subString($data), 0, $len + 30);"改为"subString(strip_tags($data), 0, $len + 30);"即可,strip_tags和subString的先后直接导致了问题所在,其他地方不用修改