Jump to content

développement d'un module qui affiche une categorie en page d'acceuil


Recommended Posts

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

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

  • 3 months later...

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

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