Jump to content

recherche multi criteres sur 2 tables


Recommended Posts

Bonjour à tous

j'ai besoin d'avoir l'affichage des articles en sélectionnant le nom du fournisseur ET la catégorie d'article.
De base on ne peut avoir que l'affichage selon un fournisseur OU une catégorie.
Je pense, sans me tromper, que je dois modifier le script de sélection, mais je n'ai pas trouver le fichier où il se trouve !


Merci de m'aiguiller
Kriss

édit : ce module semble faire bien plus que ce que je désire, je vais le tester mais ma question reste d'actualité
Merci

http://www.eshop-mag.com/2010/05/filter-search-v2-1-community-edition/

________________________________________________________
Ce système conviendrait mieux à mes besoins : http://www.swoonshop.com/manufacturer.php?id_manufacturer=19&id;_category=ℴ_way=

et j'ai vu que le topic associé n'avait pas eu de réponse :/
http://www.prestashop.com/forums/viewthread/62348/developpement/trier_par_fournisseur_taille

Link to comment
Share on other sites

Tu peux modifier, si tu t'y connais un peu, le fichier Product.php dans le dossier /classes. Voir aussi le fichier Category.php dans le même dossier. Les 2 ont la même fonction (getProducts), les manipulations seraient identiques.

(products.php) Ligne 541 tu trouves la fonction getProducts.
En bricolant un peu, tu rajoutes un paramètre :
static public function getProducts($id_lang, $start, $limit, $orderBy, $orderWay, $id_category = false, $only_active = false, $id_manu = false)

Ensuite, dans la requête, tu rajoutes une ligne au WHERE :
WHERE pl.`id_lang` = '.intval($id_lang).
($id_category ? ' AND c.`id_category` = '.intval($id_category) : '').
($only_active ? ' AND p.`active` = 1' : '').'
($id_manu ? ' AND p.`id_manufacturer` = '.intval($id_manu) : '').'

Ça, ça serait pour la partie noyau. Mais ensuite, comment veux-tu que ça se passe, le thème de base ne permet d'afficher que les produits par Constructeur, ou par Catégorie. En cliquant sur un constructeur, tous ses produits sont affichés.
Il y a une option de Tri en haut, tu veux la afficher tes catégories ?

EDIT : vu le lien de la boutique. Du coup, tu veux faire pareil ? Ajouter 2 Select en haut du site ?

Link to comment
Share on other sites

Hmm ça peut être intéressant à construire.
Par contre, je peux t'aider mais il faudra toucher au code, créer un module à part entière serait trop long.

Le mieux à utiliser est Jquery UI MultiSelect : http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/

Un Select avec des boutons à cocher. 2 Select de ce genre et ça devrait être bon.

Link to comment
Share on other sites

Toucher le code ne me fait pas peur, par contre je ne suis pas vraiment habitué aux codes allégés : ca devient vite du charabia :/

j'ai bien trouvé le code source dans product.php, mais je galère à mettre en place cette fonction toute bête :

J'ai l'habitude de faire un sélecteur "fabriquant"
Sauvegarder dans la session en cours, la variable "$fabriquant"
afficher le sélecteur "catégorie" et envoyer la requete suivante
category.php?id_category=6&id;_supplier =variable

Ma problématique est donc de récupérer cette variable "$fabriquant" et surtout l'utiliser dans la page d'accueil.

Je peux modifier getproduct avec la variable $fabriquant
function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1, $fabriquant )

et dans le where :
WHERE cp.`id_category` = '.intval($this->id).($active ? ' AND p.`active` = 1' : '').'
'.($id_supplier ? 'AND p.id_supplier = '.$id_supplier : ''.' AND id_supplier = '.$fabriquant.'' );

Merci de m'expliquer où modifier le code de la page d'accueil !

PS : je voulais utiliser id_manufacturer à la lace de id_supplier, mais il semblerait que ca ne fonctionne pas ...

Jquery UI MultiSelect semble intéressant mais un peu trop usine à gaz pour ce que je veux faire..


__________________________________________

edit : après réflexion et au vue d'éléments nouveaux, je vais plutôt me tourner vers le module Filter search.
Toutefois je l'ai installé et j'ai bien l'affichage du nombre de résultats, mais les images des articles filtrés ne s'affichent pas ! !

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...