Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]


recherche multi mots

Programmation, discussions et suggestions pour l'amélioration de OpenCart

recherche multi mots

Messagepar Malaiac » 11 Fév 2013, 15:20

si vous avez des produits "gadget bleu" et que le client cherche "bleu gadget" sur votre site, il n'aura rien

modif :
/catalog/controller/product/search.php
Code: Tout sélectionner
if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_tag'])) { // ligne 201
....
foreach ($results as $result) { // ligne 235 environ

a remplacer par
Code: Tout sélectionner
      $this->data['products'] = array();
      
      if (isset($this->request->get['filter_name']) || isset($this->request->get['filter_tag'])) {
         
         $results = array();
         $product_total = 0;
         
         $filter_names = explode(' ',$filter_name);
         $filter_tags = explode(' ',$filter_tag);
         
         if(count($filter_names)) {
            foreach($filter_names as $name) {
               $data = array(
                     'filter_name'         => $name,
                     'filter_tag'          => $filter_tag,
                     'filter_description'  => $filter_description,
                     'filter_category_id'  => $filter_category_id,
                     'filter_sub_category' => $filter_sub_category,
                     'sort'                => $sort,
                     'order'               => $order,
                     'start'               => ($page - 1) * $limit,
                     'limit'               => $limit
               );
               $filter_results = $this->model_catalog_product->getProducts($data);
               foreach($filter_results as $filter_result) {
                  if(!isset($results[$filter_result['product_id']])) $product_total++;
                  $results[$filter_result['product_id']] = $filter_result;
               }
            }
         }
         if(count($filter_tags)) {
            foreach($filter_tags as $tag) {
               $data = array(
                     'filter_name'         => $filter_name,
                     'filter_tag'          => $tag,
                     'filter_description'  => $filter_description,
                     'filter_category_id'  => $filter_category_id,
                     'filter_sub_category' => $filter_sub_category,
                     'sort'                => $sort,
                     'order'               => $order,
                     'start'               => ($page - 1) * $limit,
                     'limit'               => $limit
               );
                           $filter_results = $this->model_catalog_product->getProducts($data);
               foreach($filter_results as $filter_result) {
                  if(!isset($results[$filter_result['product_id']])) $product_total++;
                  $results[$filter_result['product_id']] = $filter_result;
               }            
            }
         }
            
         foreach ($results as $result) {
OpenCart 1.5.4.1 - 1and1 mutu - php5.2.17
Malaiac
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 18
Inscription: 19 Jan 2013, 11:10

Re: recherche multi mots

Messagepar LeorLindel » 11 Fév 2013, 15:46

Je vais faire un fichier XML pour vQmod et tester cela.

Nous te remercions.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4248
Inscription: 19 Fév 2010, 12:44
Localisation: Lutéce


Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron