原文来自:https://www.zixuephp.com
dedecms改进搜索结果的文章标题样式效果
dedecms的v57系统默认的搜索结果并不能很好的满足商业化用途,默认搜索的标题字段只有30个字节,而且会把html标签一起带到title提示里显示,这样的情况无论对于美观还是SEO效果都是很不利的,产生的问题效果如下图:
大家注意看红色方框里的标题提示title.默认带上了<font>标签,这个问题需要进行dedecms二次开发进行改进,改进方法需要修改2个地方,如下:
1、修改后台php文件,打开dedecms根目录下的/include/arc.searchview.class.php文件,搜索找到如下代码:
$row["title"] = $this->GetRedKeyWord(cn_substr($row["title"],$titlelen));
这行代码大概位置在732行,在这个行代码的下方添加以下代码:
$row["title2"] = strip_tags($this->GetRedKeyWord(cn_substr($row["title"],$titlelen)));
添加title2的目的就是用于显示a标签里title,这里用到了php的strip_tags函数去除html标签.
2、修改前端模板文件,打开dedecms根目录下的/templets/default/search.htm文件,搜索代码{dede:list,会找到类似如下的代码行:
- {dede:listperpage='20'}
- <li>
- <h3><ahref="[field:arcurl/]"target="_blank">[field:title/]</a></h3>
然后将以上代码修改为:
- {dede:listperpage='20'titlelen='100'}
- <li>
- <h3><ahref="[field:arcurl/]"target="_blank"title="[field:title2/]">[field:title/]</a></h3>//phpfensi.com
红色字体的代码部分就是修改的部分,至此搜索页面标题的优化就完成了,你再到搜索框去搜索关键词就会发现如下的页面效果:
此次对dedecms进行二次开发后,搜索结果页面的标题变长了,标题提示title也不再附加显示任何的html标签了.
因为各个版本上的差异可能修改上会有一些小小的误差,使用上如有疑问可加QQ群咨询.