web-dev-qa-db-fra.com

Comment encoder le texte de recherche

Je suis un peu dans une situation ici, à cause du codage. Ce problème ne se produit que sur Internet Explorer (oui, ce gars-là ...).

J'utilise le composant de recherche, qui fonctionne bien à propos, mais chaque fois que j'essaie de chercher quelque chose avec, disons, un accent, tout va mal sur IE, car ce caractère n'est pas encodé.

Par exemple, je cherche "crédit", donc l'URL générée est:

http://mywebsite.com/index.php/search-result?searchword=crédit&searchphrase=all

J'aimerais avoir la version encodée, qui devrait être:

http://mywebsite.com/index.php/search-result?searchword=cr%C3%A9dit&searchphrase=all

Cependant, je n'arrive pas à trouver où je pourrais changer cela. Bien sûr, je veux le faire aussi bien que possible, ce qui signifie de ne modifier aucun des fichiers core de Joomla, ni des composants/modules/plugins de base.

Bref, j'ai vu un événement qui pourrait m'aider: onSearch, mais je ne trouve aucun exemple et je ne parviens pas à le faire fonctionner.

PS: Joomla 3.5 ici.

4
soenguy

Copier le fichier /modules/mod_search/tmpl/default.php à templates/joomla-template/html/mod_search _ (assurez-vous que le fichier n'existe pas en premier dans le répertoire de destination)

Ajoutez ce qui suit à la balise form:

enctype="application/x-www-form-urlencoded"

Ainsi, votre balise de formulaire devrait être quelque chose comme:

<form action="<?php echo JRoute::_('index.php');?>" method="post" enctype="application/x-www-form-urlencoded">

J'espère que cela t'aides!

5
itoctopus