Jump to content

[Résolu] Multiboutique Et Moteur De Recherche Interne


Recommended Posts

Bonjour.

Nous avons un problème avec le moteur de recherche interne à PS, en mode multiboutique.

Nous vendons des produits très différents, et nous déployons donc un multiboutique pour proposer un site par typologie de produits et pour gérer l'ensemble des sites/clients/factures sur une seule interface.

Lorsque nous avons déployé le catalogue, la boutique principale contenait tout le catalogue, qui était ensuite réparti selon les boutiques secondaires / Noms de Domaine.

Mais, sur les boutiques secondaires, dans le moteur de recherche interne de PS, tout le catalogue était accessible alors que les produits n'apparaissaient pas.

Ce n'était pas le résultat recherché.

 

Nous avonc donc re-déployé avec une boutique principale "fantôme", ne contenant aucun produit. Et nous avons défini des catégories et produits sur les boutiques secondaires.

Avec cette configuration, le moteur de recherche interne des boutiques secondaires ne renvoit aucun résultat, même si le produit recherché figure bien sur le site secondaire.

 

Savez-vous s'il est possible de dissocier clairement les produits par boutique, sans que ceux de la boutique A soient listés dans le moteur de recherche de la boutique B, et inversement ?

 

Toutes nos boutiques sont dans un même groupe, ne partageant ni les clients, ni les quantités, ni les commandes.

 

Merci d'avance pour votre aide.

 

EDIT : la nuit porte conseil. Après avoir vainement cherché vendredi, la solution est assez simple le lundi : il suffit de forcer la ré-indexation des produits.

Edited by Tadaa ! (see edit history)
Link to comment
Share on other sites

Il faut modifier le searchController pour qu'il prenne en compte l'id_shop du context dans la fonction Search::find(). Ce paramètre est manquant et la requete ajax crée alors un contexte global.

if ($this->ajax_search) {
            $searchResults = Search::find((int)(Tools::getValue('id_lang')), $query, 1, 10, 'position', 'desc', true);

devrait être

if ($this->ajax_search) {
            $searchResults = Search::find((int)(Tools::getValue('id_lang')), $query, 1, 10, 'position', 'desc', true, true, $this->context);

Le $use_cookie pourrait être intéressant, mais il n'est pas utilisé, bien que déclaré :P

Si vous parlez du module blocksearch (qui utilise les mêmes fonctions) une modification de celui-ci est nécessaire également.

 

Vous devriez poster dans la rubrique Déclaration de bugs, ou sur la forge

Link to comment
Share on other sites

Bonjour Eolia.

 

Merci de nous répondre, et pour cette précision.

Je faisais référence au moteur de recherche en ajax.

 

Comme je l'ai indiqué, il semble que notre structuration du multiboutique, et la ré-indexation du catalogue complet, fassent le job. J'avoue que ça m'arrange de pas hacker le code, pour les MàJ à venir.

 

 

Cordialement.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...