krisss Posted November 2, 2010 Share Posted November 2, 2010 Bonjour à tousj'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'aiguillerKrissédit : ce module semble faire bien plus que ce que je désire, je vais le tester mais ma question reste d'actualitéMercihttp://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 More sharing options...
Vincent Decaux Posted November 2, 2010 Share Posted November 2, 2010 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 More sharing options...
krisss Posted November 2, 2010 Author Share Posted November 2, 2010 je ne veux pas spécialement faire pareil pour la disposition, car la recherche multi criteres est l'objectif.Merci de votre aide je vais voir si j'arrive à mettre en place ^^ Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 2, 2010 Share Posted November 2, 2010 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 More sharing options...
krisss Posted November 2, 2010 Author Share Posted November 2, 2010 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 suivantecategory.php?id_category=6&id;_supplier =variableMa 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 $fabriquantfunction 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 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