jd440 Posted August 9, 2012 Share Posted August 9, 2012 (edited) Bonjour à tous. Voila je souhaite que ma homepage devienne une page de catégorie. Pour cela je suis en train de developper mon premier module et je bloque. public function hookhome($params) { $id_current_shop = Configuration::get('BLOCK_CATEG_HOMEPAGE'); $id_customer = (int)$params['cookie']->id_customer; $id_lang = (int)$params['cookie']->id_lang; $ch = Configuration::get('BLOCK_CATEG_HOMEPAGE'); $category = new Category($ch); $this->smarty->assign('category',$category); $display = $this->display(__FILE__, 'blockcategorieshomepage2.tpl'); return $display; } BLOCK_CATEG_HOMEPAGE étant définit à l'installation du module puis un template de module: blockcategorieshomepage2.tpl <hr>{$category->getName($id_lang)} {include file="$tpl_dir./category.tpl" category=$category} pas de problème il m'affiche bien le nom Mais rendu dans les $tpl_dir./category.tpl ca cloche. Il affiche l'image de la catégory mais c'est à peu près tout. pas de titre, descriptif ni produit... Aucun produit dans cette catégorie. Array Les deux premier test sont validé {if isset($category)} {if $category->id AND $category->active} Mais il n'arrive pas à résoudre: {$category->name|escape:'htmlall':'UTF-8'} Si j'integre dans mon module: $productshomepage = $category->getProducts($id_lang, 1, 100,'',''); $this->smarty->assign('productshomepage', $productshomepage); j'arrive a afficher dans le template les produits. {include file="$tpl_dir./product-list.tpl" products=$productshomepage} Désolé je suis depuis 24h sous presta, donc J'ai pas tout saisi à la structure. Edited August 9, 2012 by jd440 (see edit history) Link to comment Share on other sites More sharing options...
jd440 Posted August 10, 2012 Author Share Posted August 10, 2012 Ca avance. J'ai reussit à faire afficher ma categorie (nom, image, description...), et la list produit. public function hookhome($params) { $ch = Configuration::get('BLOCK_CATEG_HOMEPAGE'); $id_current_shop = Configuration::get('BLOCK_CATEG_HOMEPAGE'); $id_customer = (int)$params['cookie']->id_customer; $id_lang = (int)$params['cookie']->id_lang; $category = new Category($ch,$id_lang); $this->smarty->assign('category',$category); $nb_products = $category->getProducts(null, null, null, $category->orderBy, $category->orderWay, true); $this->smarty->assign('nb_products', $nb_products); $products = $category->getProducts($id_lang, 1, 100,'',''); $this->smarty->assign('products', $products); $comparator_max_item = (int)(Configuration::get('PS_COMPARATOR_MAX_ITEM')); $this->smarty->assign('comparator_max_item', $comparator_max_item); $display = $this->display(__FILE__, 'blockcategorieshomepage2.tpl'); return $display; } Cependant je rencontre un souci avec la partie de comparaison, tri produit... car orderby, orderway ne sont pas définit. et si je les définit en "dur", ca ne vas pas le retrier. Je pense que tout le problème viens de cette histoire de controller? Si un developper passe par là. Link to comment Share on other sites More sharing options...
jd440 Posted August 12, 2012 Author Share Posted August 12, 2012 Je fini par me demander si c'est pas directement au niveau du dispatcher que je devrais faire un override? De manière à ce que la homepage soit redispatcher du le controller de category? Link to comment Share on other sites More sharing options...
franckm1000 Posted August 12, 2012 Share Posted August 12, 2012 Est-ce que tu utilises le Debug pour avancer ? il te permet de voir toutes les variables dans chaque page. Il suffit de mettre {debug} dans ton fichier tpl Pourquoi tu ne pourrais pas mettre 'id_product' et 'asc' pour ton tri ? Link to comment Share on other sites More sharing options...
martinDev Posted November 15, 2012 Share Posted November 15, 2012 Bonjour, J'ai lu les différentes conversations que vous avez eu sur le sujet, et je souhaite le même module (avec les même recommandations: pas de redirection 301...) que vous... Je voulais savoir par conséquent si vous aviez progressé, et si je pouvais voir votre code afin de le compléter si ce n'est déjà fait! Merci d'avance, Harold 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