que la recherche en direct affiche les résultats que l'utilisateur saisit des lettres, il est logique d'effectuer une requête pour tous les mots commençant avec le terme courant (par exemple si vous avez entré "voiture", vous obtenez des résultats contenant le mot "voiture" mais aussi "prudent", car nous ne pouvons pas encore dire si vous avez fini de taper des lettres). Dans la recherche avancée, lorsque vous recherchez "voiture", le système sait que vous êtes intéressé par les résultats de "voiture", pas par "prudent". Voilà pourquoi les 2 recherches fonctionnent différemment. Et Plone suppose que lorsque nous appuyons sur Entrée dans le moteur de recherche, nous avons fini d'entrer le mot que nous cherchons, donc il redirige vers la page de recherche avancée en utilisant le terme de recherche exact que nous avons entré.
Il est implémenté dans la viewbox de la boîte de recherche, vous trouverez le code dans plone.app.layout/plone/app/layout/viewlets/searchbox.pt
, et comme vous pouvez le voir il s'agit d'une forme très basique soumettant l'entrée "SearchableText" à "@@ search".
Pour moi, la meilleure façon de le personnaliser est d'ajouter un petit JS comme ça quelque part dans votre peau:
$('#portal-searchbox form').submit(function(e) {
var input = $('#portal-searchbox input[name="SearchableText"]');
input.val(input.val() + '*');
});
Je vous suggère de déposer un rapport de bogue ici: https://github.com/ plone/Products.CMFPlone/issues – alepisa
Fait référence à: http://stackoverflow.com/questions/19731887/customize-the-search-portlet-in-plone-for-specific-content-types/19763519, chercher "surmonter la des résultats précis "pour le cas où vous vous trouvez sur le formulaire de recherche, provenant d'un lien de recherche avancé de portlets de recherche ou d'une touche de retour dans le champ de saisie du portlet de recherche. –