Jump to content

Page product-list : modifier ordre de tri en override


Recommended Posts

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

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 by DevilYann (see edit history)
Link to comment
Share on other sites

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

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