DevilYann Posted February 9, 2018 Share Posted February 9, 2018 Bonsoir Mon client aimerait un tri différent pour une catégorie spécifique de ses produits, et uniquement celle là. Donc je voulais surcharger LA fonction qui s'occupe de récupérer les produits d'une catégorie et qui l'affiche sur la page product-list.php, avec un test sur l'id de la catégorie et mettre le tri en dur pour cette catégorie spécifique. Mais je ne sais pas comment on fait dans prestashop 1.6 pour connaitre la classe ou le controler qui s'occupe de cela :/ Qqun peut il me dire quelle fonction de la classe / controleur que je dois surcharger ? Et comment trouver facilement les fonctions qui s'occupent de ces affichages si je dois faire d'autres modifications de ce style. Merci d'avance Link to comment Share on other sites More sharing options...
DevilYann Posted February 10, 2018 Author Share Posted February 10, 2018 Personne ne sait ?... :'( Link to comment Share on other sites More sharing options...
DevilYann Posted February 10, 2018 Author Share Posted February 10, 2018 (edited) Merci pour ta réponse, même si au final c'est la classe que je dois modifier et non le contrôleur, pour avoir la main sur la requête. Or dans le CategoryController, il y a ce code : // The hook was not executed, standard working if (!$hook_executed) { $this->context->smarty->assign('categoryNameComplement', ''); $this->nbProducts = $this->category->getProducts(null, null, null, $this->orderBy, $this->orderWay, true); $this->pagination((int)$this->nbProducts); // Pagination must be call after "getProducts" $this->cat_products = $this->category->getProducts($this->context->language->id, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay); } // Hook executed, use the override else { // Pagination must be call after "getProducts" $this->pagination($this->nbProducts); } Et je me rends compte pourquoi je n'arrive pas à modifier la fonction getProducts de la classe Category.php, car la plupart du temps le code passe dans le else, donc sans appel de la fonction getProducts ... Il ne rentre dans le if que pour quelques catégories, et malheureusement pas pour celle que je veux modifier, donc je ne vois pas où modifier cette requête :/ Edited February 10, 2018 by DevilYann (see edit history) Link to comment Share on other sites More sharing options...
DevilYann Posted February 10, 2018 Author Share Posted February 10, 2018 Merci Okom pour ton aide. Soucis : le client veut que le tri soit sur 2 champs : modèle et dimension :/ Comment savoir quel module a overridé la liste ? car bizarrement les catégories ont toutes la même présentation, donc pas logique que certaines ne passent pas dans l'override :/ Link to comment Share on other sites More sharing options...
DevilYann Posted February 10, 2018 Author Share Posted February 10, 2018 Merci en tout cas, c'est bien le BlockLayered qui faisait une surcharge de la requête, quelle usine à gaz quand même oO J'ai mis le test et fait passer dans l'order by la valeur souhaitée pour la catégorie en overridant le module 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