By default, in homefeatured module prestashop displays products attached to the "home" category. Today I want to show you how to use different category instead of "home". All that we will have to do - is a simple modification of the main module .php file.
default prestashop "home" category in home featured module
Homefeatured module modification
Open the homefeatured.php file, this file is located in the modules/homefeatured/ directory. This is also main module .php file. Search for function hookDisplayHome($params). Function code looks like:
public function hookDisplayHome($params){ if (!$this->isCached('homefeatured.tpl', $this->getCacheId('homefeatured'))){ $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)Configuration::get('HOME_FEATURED_NBR'); $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8)); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), )); } return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId('homefeatured')); }
Highlighted line is a definition of the $category object. It's most important thing in this case. All that we have to do is to change the
Context::getContext()->shop->getCategory() code to a ID number of category that we want to display. In our store Accessories category has got ID 4. And we want to display accessories category in homefeatured block. So here is the modification:
$category = new Category(4, (int)Context::getContext()->language->id);
Save changes in this file and reload your store front page (just press f5). Remember that while you changing your template files, or module files, it's better to turn force compilation on and turn cache off. The effect of whole tutorial:
different category in home featured module
Of course you can use different category (in fact any category ID you want). If you don't know how to get category ID, just read this basic tutorial related to category management: how to get prestashop category ID. If you have any additional questions related to this topic - feel free to coninue discussion in the comments field below.