我在一个小内联网中使用Plone 4.3,搜索领域让我感到烦恼.实时搜索工作正常但是当您按Enter键时,搜索会显示不同的结果.可以通过在文本末尾添加" "来获得结果,然后它显示与livesearch相同的结果.所以我问,当pushin输入密钥时,是否可以自动插入" "以获得与livesearch相同的结果?
谢谢
pd:我的英语不是很好,对不起
由于实时搜索在用户输入字母时显示结果,因此对从当前术语开始的所有单词执行查询是有意义的(例如,如果您输入了"car",则会得到包含单词"car"的结果,但也"小心",因为我们还不知道你是否完成了打字信件).在高级搜索中,当您搜索"汽车"时,系统知道您对"汽车"的结果感兴趣,而不是"小心".这就是为什么2次搜索的工作方式不同.
Plone假设当我们在livesearch中按Enter键时,我们已经输入了我们正在寻找的单词,因此它使用我们输入的确切搜索词重定向到高级搜索页面.
它在searchbox viewlet中实现,你会发现代码plone.app.layout/plone/app/layout/viewlets/searchbox.pt
,你可以看到它是一个非常基本的表单,将"SearchableText"输入提交给"@@ search".
对我来说,最简单的自定义方法是在皮肤的某处添加一个像这样的小JS:
$('#portal-searchbox form').submit(function(e) { var input = $('#portal-searchbox input[name="SearchableText"]'); input.val(input.val() + '*'); });