THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Je cherche un moyen pour éventuellement améliorer la recherche dans le back-office, en particulier je trouverai utile de pouvoir rechercher par n° de commande ou nom ou email "partiels", c'est à dire par ex quand on recherche une commande pouvoir juste saisir "76" ou à la limite "076" plutôt que "ORD00000000016" (nb de 0 à saisir générateur d'erreurs), ou un bout de nom ...
Tout d'abord j'ai regardé search.html dans le back-office mais je ne suis pas sûr que ce soit la bonne piste, il faudrait peut-être agir sur les requêtes elles-mêmes, mais je ne suis pas trop sûr de ou ...

Pierre

Offline


La recherche du B.O. consiste à passer le terme recherché aux diverses boucles (product, customer, etc.). Par exemple :

{loop name="customer_list" type="customer" current="false" visible="*" backend_context="1" search_term=trim($smarty.get.search_term) search_in="ref,firstname,lastname,email"}

Améliorer cette recherche, ça voudrait dire intervenir sur la méthode search() de Thelia\Core\Template\Element\BaseLoop, mais aussi sophistiquer l'interface de recherche du B.O., pour proposer tous les modes de recherche existants. Celui actuellement imposé est une recherche exacte du terme entré, mais il existe aussi les modes "au moins un des mots cherchés" et "contient le terme cherché".

Ajouter au champ de recherche la sélection du mode de recherche souhaité serait déjà bien pratique.


OpenStudio Toulouse

Offline


Bonjour,

Je découvre que j'avais une réponse, désolé et merci.

Sans ajouter une sélection du mode de recherche, vous dites qu'il y a apparemment inclus un mode  "contient le terme cherché" ... pour remplacer le défaut "recherche exacte du terme entré" par  "contient le terme cherché", il faudrait faire quoi ? Intervenir sur Thelia\Core\Template\Element\BaseLoop ?

J'ai vu que dans ce fichier on a 3 modes MODE_STRICT_SENTENCE (defaut), MODE_SENTENCE et MODE_ANY_WORD pour un paramètre "search_mode" . Si dans ce fichier je change le defaut MODE_STRICT_SENTENCE par MODE_SENTENCE, bingo ça marche mais c'est moyen clean ...

J'ai ensuite essayé d'ajouté un search_mode="search_mode" dans la template search du BO (un peu plus clean) et là je n'arrive pas à voir quel paramètre je peux lui passer, "MODE_SENTENCE" plante, "1" plante ...  une idée ?

Merci.
Pierre.

Offline


Pour l'instant j'ai résolu en modifiant Thelia\Core\Template\Element\BaseLoop ... à refaire à chaque upgrade, par contre ça marche bien.

Pierre

Offline


Inutile de modifier le core... Les boucles acceptent le paramètre "search_mode", qui peut prendre les valeurs suivantes :

- any_word
- sentence
- strict_sentence

(cf. la doc du paramètre search_mode :http://doc.thelia.net/en/documentation/loop/product.html)

Tu peux donc modifier la façon dont les boucles sont appelées dans le template du BO.


OpenStudio Toulouse

Offline


Slt,

Il fallait donc juste enlever "mode_", pas pensé à ça dans mes essais ! et j'avais pas trouvé cette page dans la doc, merci beaucoup !

Pierre

Last edited by pierrot (31-12-2015 11:23:51)