Matthieu Brunet Posted November 24, 2011 Share Posted November 24, 2011 Je viens de mettre à jour en 1.4.6.1, et je n'arrive plus à faire apparaître les produits sur la catégorie home. Sur les versions précédentes, il suffisait de faire un override sur CategoryController.php pour enlever le test if ($this->category->id != 1) Mais j'ai commenté ça sur la nouvelle version, et ça ne fonctionne pas, les produits n'apparaissent toujours pas. Je suppose donc qu'il y a un filtre ailleurs... Une idée d'où je vais trouver ça ? Link to comment Share on other sites More sharing options...
Matthieu Brunet Posted November 24, 2011 Author Share Posted November 24, 2011 Bon, j'ai réussi à rétablir le fonctionnement, mais je ne suis pas sûr de comprendre les raisons. Pour ceux que ça intéresse, il s'agit donc de pouvoir afficher les produits sur la catégorie "home" ou "accueil". Par défaut, cette page n'affiche que les sous-catégorie, et elle n'est même pas accessible facilement. Mais comme je ne voulais pas passer par le module page d'accueil, qui force à se retaper toute la mise en page si on veut avoir la même apparence que sur les autres catégorie, ben j'ai overridé le test dans CategoryController. Mais depuis la 1.4.6.1, toujours dans ce CategoryController.php, il y a la fonction productListAssign() qui bloque : public function productListAssign() { $hookExecuted = false; //Module::hookExec('productListAssign', array('nbProducts' => &$this->nbProducts, 'catProducts' => &$this->cat_products, 'hookExecuted' => &$hookExecuted)); if(!$hookExecuted) // The hook was not executed, standard working { self::$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((int)(self::$cookie->id_lang), (int)($this->p), (int)($this->n), $this->orderBy, $this->orderWay); } else // Hook executed, use the override $this->pagination((int)$this->nbProducts); // Pagination must be call after "getProducts" self::$smarty->assign('nb_products', (int)$this->nbProducts); } En gros, quand le hook est exécuté, ben les produits ne sont pas appelé sur cette catégorie là. Je n'ai pas réussi à trouver pourquoi, donc j'ai simplement overridé aussi cette fonction (en plus de la fonction process), et j'ai commenté la ligne qui appelle hookExec. Du coup, ça refonctionne, et ça ne semble pas gêner le reste du site. hth 1 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