Jump to content

Trying to duplicate HomeFeatured module


Recommended Posts

Hello,

 

I am trying to duplicate the homefeatured module, I followed the tutorial from this website http://alvinjiang.bl...-duplicate.html

 

In my site the duplicate module show up but instead of products there is a msg showing "No featured products".

 

No body tried to duplicate this module ?

 

 

Can somebody tell me if my file is correct :

 

Homefeatured1.php

 

if (!defined('_PS_VERSION_'))

exit;

 

class HomeFeatured1 extends Module

{

private $_html = '';

private $_postErrors = array();

 

function __construct()

{

$this->name = 'homefeatured1';

$this->tab = 'front_office_features';

$this->version = '0.9';

$this->author = 'PrestaShop';

$this->need_instance = 0;

 

parent::__construct();

 

$this->displayName = $this->l('Featured Products on the homepage');

$this->description = $this->l('Displays Featured Products in the middle of your homepage.');

}

 

function install()

{

if (!Configuration::updateValue('HOME_FEATURED_NBR1', 8) OR !parent::install() OR !$this->registerHook('home'))

return false;

return true;

}

 

public function getContent()

{

$output = '<h2>'.$this->displayName.'</h2>';

if (Tools::isSubmit('submitHomeFeatured'))

{

$nbr = (int)(Tools::getValue('nbr'));

if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr))

$errors[] = $this->l('Invalid number of products');

else

Configuration::updateValue('HOME_FEATURED_NBR1', (int)($nbr));

if (isset($errors) AND sizeof($errors))

$output .= $this->displayError(implode('<br />', $errors));

else

$output .= $this->displayConfirmation($this->l('Settings updated'));

}

return $output.$this->displayForm();

}

 

public function displayForm()

{

$output = '

<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post">

<fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>

<p>'.$this->l('In order to add products to your homepage, just add them to the "home" category.').'</p><br />

<label>'.$this->l('Number of products displayed').'</label>

<div class="margin-form">

<input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR1')))).'" />

<p class="clear">'.$this->l('The number of products displayed on homepage (default: 10).').'</p>

 

</div>

<center><input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /></center>

</fieldset>

</form>';

return $output;

}

 

function hookHome($params)

{

global $smarty;

 

$category = new Category(50, Configuration::get('PS_LANG_DEFAULT'));

$nb = (int)(Configuration::get('HOME_FEATURED_NBR1'));

$products = $category->getProducts((int)($params['cookie']->id_lang), 50, ($nb ? $nb : 10));

$smarty->assign(array(

'products' => $products,

'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),

'homeSize' => Image::getSize('home')));

 

return $this->display(__FILE__, 'homefeatured1.tpl');

}

}

 

Edited by canyon88 (see edit history)
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...