织梦搜索结果展示页面因关键词飘红引起样式错乱解决方法

DedeCMS系统 admin 418浏览

遇到问题:修改织梦搜索结果页面标题,随手测试几个搜索词,点击页码发现部分页面存在排版布局混乱问题,这是为什么?

处理过程:

  1. F12查看源码,发现部分样式不能正常展示,删除了search.htm里面的title="[field:title/]"和alt="[field:title/]"恢复正常,但是页码数量多的情况下,点击末页还是存在这个问题
  2. 本地测试了织梦模板源码(未修改|二次开发过的),发现搜索页面展示正常|然后上传默认的样式到空间进行调用,但是问题还是不能解决

解决办法:

也不知道有没有'同是天涯沦落人'的伙计遇到类似情况,百度搜索答案,尴尬的是,具体问题不清楚,只好打上'织梦搜索结果font',一个个点击查看一番,幸运的是找到了解决办法.经过排查,确定是关键词标红引起的。

在标题中标红关键词时没有问题的,但是内容描述中标红就容易出错了。内容描述通常是限定字数的。若关键词正处于描述的结尾部分,在标红处理的时候,font标签也会占用字数,所以会造成font标签显示不全。 font标签不闭合,后面的代码都会显示错误。所以会出现样式错乱。

参考文章:

  1. 详解织梦搜索时因关键词标红而导致页面样式错乱的解决方法[1]
  2. 织梦搜索结果页文档标题标红引起样式错乱解决方法[2]

总结方法:

方法一:打开 include/arc.searchview.class.php 文件,找到以下代码进行注释/在352行左右

$fstr = str_ireplace($k, "$k", $fstr);

注:注释掉代码后,搜索关键词标题不会在存在标红情况

方法二:

在搜索结果页模板search.htm中,{dede:list}{/dede:list}里凡是有alt="[field:title/]"和title="[field:title/]"把里面的[field:title/]标题标签改成[field:title function=html2text(@me)/]

这样替换后还乱的话,看文档摘要是不是还红,红的话,把[field:description摘要标签也改一下,改成

[field:description function="cn_substr(html2text(@me),250)"/]

转载请注明:大灰牛博客 » 织梦搜索结果展示页面因关键词飘红引起样式错乱解决方法