amarcil Posted June 2, 2010 Share Posted June 2, 2010 Bonsoir a tous,Depuis le BO, je désire rechercher des articles à l'aide de leur référence... Sauf qu'il s'agit de déclinaisons, et donc que la référence de l'article "parent" est vide: ce sont les références des articles déclinés que je renseigne.Ma question est donc : comment faire pour effectuer une recherche depuis le champ de recherche du BO sur les références des déclinaisons d'un produit ?Merci d'avance pour vos réponses... Link to comment Share on other sites More sharing options...
openweb Posted August 27, 2010 Share Posted August 27, 2010 J'ai exactement la même question.(comme beaucoups à mon avis).Le problème est que lorsqu'on utilise une déclinaison d'un produit (couleur, taille ...), cette déclinaison de produit devient unique et doit pouvoir être recherchée via le champs référence ou EAN13 (code barre). C'est d'autant plus étrange que l'on peut mettre une référence propre à chaque déclinaison.J'aimerais donc savoir comme ajouter ces champs de déclinaison dans la recherche générale du Prestashop. Link to comment Share on other sites More sharing options...
luciep Posted January 18, 2011 Share Posted January 18, 2011 Bonjour, personnellement j'ai modifié la classe Search (@version 1.3) pour que dans le front office l'on puisse rechercher un produit à partir de la référence donnée à l'une de ses déclinaisons.Pour cela j'ai ajouté "reference_declinaison" dans le tableau des champs à indexer (ligne 304) $weightArray = array( 'pname' => Configuration::get('PS_SEARCH_WEIGHT_PNAME'), 'reference' => Configuration::get('PS_SEARCH_WEIGHT_REF'), 'ean13' => Configuration::get('PS_SEARCH_WEIGHT_REF'), 'description_short' => Configuration::get('PS_SEARCH_WEIGHT_SHORTDESC'), 'description' => Configuration::get('PS_SEARCH_WEIGHT_DESC'), 'cname' => Configuration::get('PS_SEARCH_WEIGHT_CNAME'), 'mname' => Configuration::get('PS_SEARCH_WEIGHT_MNAME'), 'tags' => Configuration::get('PS_SEARCH_WEIGHT_TAG'), 'attributes' => Configuration::get('PS_SEARCH_WEIGHT_ATTRIBUTE'), 'features' => Configuration::get('PS_SEARCH_WEIGHT_FEATURE'), 'reference_declinaison' => Configuration::get('PS_SEARCH_WEIGHT_REF') ); et j'ai modifié la requête de sélection (ligne 317) : $products = $db->ExecuteS(' SELECT p.id_product, pl.id_lang, pl.name as pname, p.reference, p.ean13, pl.description_short, pl.description, cl.name as cname, m.name as mname FROM '._DB_PREFIX_.'product p LEFT JOIN '._DB_PREFIX_.'product_lang pl ON p.id_product = pl.id_product LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = p.id_category_default AND pl.id_lang = cl.id_lang) LEFT JOIN '._DB_PREFIX_.'manufacturer m ON m.id_manufacturer = p.id_manufacturer WHERE p.indexed = 0', false); par $products = $db->ExecuteS(' SELECT p.id_product, pl.id_lang, pl.name as pname, p.reference, p.ean13, pl.description_short, pl.description, cl.name as cname, m.name as mname, pa.reference as reference_declinaison FROM '._DB_PREFIX_.'product p LEFT JOIN '._DB_PREFIX_.'product_lang pl ON p.id_product = pl.id_product LEFT JOIN '._DB_PREFIX_.'product_attribute pa ON p.id_product = pa.id_product LEFT JOIN '._DB_PREFIX_.'category_lang cl ON (cl.id_category = p.id_category_default AND pl.id_lang = cl.id_lang) LEFT JOIN '._DB_PREFIX_.'manufacturer m ON m.id_manufacturer = p.id_manufacturer WHERE p.indexed = 0', false); Je viens de tester et cela n'est pas pris en compte dans la recherche du back-office. Par contre pour que vos anciens produits soient maintenant indexés avec la référence des déclinaisons il faut aller dans Préférences -> Recherche puis Reconstruire l'index.Voilà j'espère que cela aura aidé quelques personnes. Link to comment Share on other sites More sharing options...
PrestUser Posted January 18, 2011 Share Posted January 18, 2011 Bonjour,Je trouve cette demande utile également. J'ai fait une "feature request" :-) Link to comment Share on other sites More sharing options...
Requene Posted June 8, 2011 Share Posted June 8, 2011 Bonjour,toujours pas de news concernant ce problème?merci Link to comment Share on other sites More sharing options...
neodominique Posted September 7, 2012 Share Posted September 7, 2012 (edited) Bonjour, J'ai eu le même problème sous PS 1.4.9.0 (recherche de déclinaison via la recherche dans le front-office) .pour palier ce problème, j'ai crée une surcharge de Search dans le dossier "/override/classes/" que voici : http://pastebin.com/cNWpu7G3 Ensuite aller dans le back-office : Options > rechercher, cliquer sur : Ajouter les produits manquant à l'index. Reconstruire l'index Et admirer le résultat Edited September 7, 2012 by neodominique (see edit history) Link to comment Share on other sites More sharing options...
kouik-e Posted September 16, 2012 Share Posted September 16, 2012 Bonjour, J'ai eu le même problème sous PS 1.4.9.0 (recherche de déclinaison via la recherche dans le front-office) .pour palier ce problème, j'ai crée une surcharge de Search dans le dossier "/override/classes/" que voici : http://pastebin.com/cNWpu7G3 Ensuite aller dans le back-office : Options > rechercher, cliquer sur : Ajouter les produits manquant à l'index. Reconstruire l'index Et admirer le résultat Bonjour, j'ai téléchargé le fichier override_search.php, reconstruis l'index mais ça ne fonctionne toujours pas. Je suis sous Prestashop Version 1.4.8.2, ce n'est pas compatible ? Merci pour votre aide Link to comment Share on other sites More sharing options...
magikbibi Posted February 18, 2013 Share Posted February 18, 2013 Bonjour, J'ai eu le même problème sous PS 1.4.9.0 (recherche de déclinaison via la recherche dans le front-office) .pour palier ce problème, j'ai crée une surcharge de Search dans le dossier "/override/classes/" que voici : http://pastebin.com/cNWpu7G3 Ensuite aller dans le back-office : Options > rechercher, cliquer sur : Ajouter les produits manquant à l'index. Reconstruire l'index Et admirer le résultat Bonjour, j'ai appliquer votre méthode, du coup cela marche bien pour le FrontOffice mais pas pour le BackOffice. Est ce normal ? Merci Link to comment Share on other sites More sharing options...
magikbibi Posted February 18, 2013 Share Posted February 18, 2013 Je deviens chèvre, je n'arrive pas à savoir où se trouve la requete SQL qui permet de rechercher par référence dans le BO !! Le champ text est "productFilter_reference" mais il est inexistant dans les fichiers PHP (recherche faite avec Super finder XT) Ce n'est pas dans le fichier de classe search.php (ce fichier est utile pour la recherche dans le FO mais pas dans le BO). C'est peut être dans la classe Product.php, mais où donc ? Help !! Link to comment Share on other sites More sharing options...
kouik-e Posted April 2, 2013 Share Posted April 2, 2013 Bonjour, J'ai eu le même problème sous PS 1.4.9.0 (recherche de déclinaison via la recherche dans le front-office) .pour palier ce problème, j'ai crée une surcharge de Search dans le dossier "/override/classes/" que voici : http://pastebin.com/cNWpu7G3 Ensuite aller dans le back-office : Options > rechercher, cliquer sur : Ajouter les produits manquant à l'index. Reconstruire l'index Et admirer le résultat Bonjour, je ne parviens pas à mettre en oeuvre la solution sur une version 1.4.9.0 j'ai placé le fichier ici : /override/classes/override_search.php reconstruit l'index et quand je recherche la référence d'une déclinaison, il ne la trouve toujours pas. j'ai oublié quelque chose ? Link to comment Share on other sites More sharing options...
kouik-e Posted April 2, 2013 Share Posted April 2, 2013 je me répond tout seul car je viens de trouver l'erreur. j'ai simplement renommé ovveride_search.php en Search.php ce qui donne : /override/classes/Search.php et il manquait <?php au début de mon code merci, maintenant je peux rechercher les références des déclinaisons Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now