自定义 Plone 搜索

Customize Plone search

我在一个小的 Intranet 中使用 Plone 4.3,搜索栏让我觉得很烦人。 实时搜索工作正常,但是当您按下回车键时,搜索显示不同的结果。结果可以通过在文本末尾添加“”来获得,然后它显示与 livesearch 相同的结果。 所以我问,是否可以在按下输入键时自动插入“”以获得与 livesearch 相同的结果?

谢谢

pd:我的英文不是很好,抱歉

由于实时搜索会在用户输入字母时显示结果,因此对 start 的所有单词执行查询是有意义的(例如,如果您输入"car",您会得到包含单词 "car" 和 "careful" 的结果,因为我们无法判断您是否已完成输入字母)。 在高级搜索中,当您搜索 "car" 时,系统知道您对 "car" 的结果感兴趣,而不是 "careful" 的结果。 这就是 2 次搜索的工作方式不同的原因。

并且 Plone 假设当我们在 livesearch 中按 Enter 时,我们已经完成了我们要查找的单词的输入,因此它会使用我们输入的确切搜索词重定向到高级搜索页面。

它在搜索框 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() + '*');
});