帝国CMS实现全站搜索功能的方法

帝国CMS的官方教程比较丰富,所以我一直都喜欢看官方的手册,做全站搜索功能也不例外,但是我按照管理员手册里的全站搜索表单语法说明试了很多次怎么也实现不了全站搜索,直到看别人的帝国CMS站做的搜索才发现这个语法说明有很多错误的地方。

正确的方法是把下面的表单代码复制到你的搜索变量里也就是需要搜索框的地方:

<form name=
“searchform” method=
“post” action=
“[!–news.url–]e/search/index.php” target=
“_blank”>

<input type=
“text” name=
“keyboard” placeholder=
“搜索框提示语”>

<input type=
“hidden” name=
“tbname” value=
“news”>

<input type=
“hidden” name=
“show” value=
“title”>

<input type=
“hidden” name=
“tempid” value=
“1”>

<input type=
“submit” value=
“搜索”>

</form>

 

大家可以对比下帝国官方提供的示例看看错了多少。上面代码中如果传值方式是get会出错,少一个input会出错,input顺序不对也会出错,大家只要把这段代码复制到需要搜索框的地方就能搜到结果,前提是你开启了搜索并增加了搜索数据源。

至于搜索结果列表页大家自行制作即可,需要注意的是如果你的导航有二级栏目,调用采用了文章“帝国cms调用二级栏目代码(附参考结构和文档)”中的代码,那么前台页面导航上会出现标签代码,解决方法就是点你网站的任意一个页面,右键源代码把导航部分的源码复制到搜索模板里,另外搜索列表页不支持列表式分页标签的调用,只支持下拉式分页标签的调用。