Jump to content

[Résolu] bug module homefeatured


Recommended Posts

Hello,

i change this lane

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_add', 'DESC');

for

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_upd', 'DESC');

and now i have this following error;

 

Parse error: syntax error, unexpected T_IF in /home/laxarxav/public_html/la-parada/modules/homefeatured/homefeatured.php on line 1

 

But my problem now is have the same error if i change to the original code

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_add', 'DESC');

I do this common solutions;

  1. clean all cache form: prestashop/cache
  2. disallow cache form backoffice and Forcing compiler installed
  3. Copy-paste saved module after edit

Details;

PrestaShop™ 1.5.3.1

Module Homefeatured, CODE;

<?php

/*

* 2007-2012 PrestaShop

*

* NOTICE OF LICENSE

*

* This source file is subject to the Academic Free License (AFL 3.0)

* that is bundled with this package in the file LICENSE.txt.

* It is also available through the world-wide-web at this URL:

* http://opensource.org/licenses/afl-3.0.php

* If you did not receive a copy of the license and are unable to

* obtain it through the world-wide-web, please send an email

* to [email protected] so we can send you a copy immediately.

*

* DISCLAIMER

*

* Do not edit or add to this file if you wish to upgrade PrestaShop to newer

* versions in the future. If you wish to customize PrestaShop for your

* needs please refer to http://www.prestashop.com for more information.

*

*  @author PrestaShop SA <[email protected]>

*  @copyright  2007-2012 PrestaShop SA

*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)

*  International Registered Trademark & Property of PrestaShop SA

*/



if (!defined('_PS_VERSION_'))

	exit;



class HomeFeatured extends Module

{

	private $_html = '';

	private $_postErrors = array();



	function __construct()

	{

		$this->name = 'homefeatured';

		$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_NBR', 8) || !parent::install() || !$this->registerHook('displayHome') || !$this->registerHook('header'))

			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_NBR', (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_NBR')))).'" />

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

	}



	public function hookDisplayHeader($params)

	{

		$this->hookHeader($params);

	}



	public function hookHeader($params)

	{

		$this->context->controller->addCss($this->_path.'homefeatured.css', 'all');

	}



	public function hookDisplayHome($params)

	{

		$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 : 10), 'date_add', 'DESC');

$id_lang = (int)Context::getContext()->language->id;

		$this->smarty->assign(array(

                    'suppliers' => Supplier::getSuppliers(false, $id_lang),

			'products' => $products,

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

			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),

		));



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

	}

}

Thanks in advance !!

 

Link to comment
Share on other sites

copied file from another backup, and now works well..

 

But i can add this on homefeatured code;

Product.php CODA

public static function getProducts($id_lang, $start, $limit, $order_by, $order_way, $id_category = false,$only_active = false, Context $context = null)

And on oder_by can; 

($order_by == 'id_product' || $order_by == 'price' || $order_by == 'date_add' || $order_by == 'date_upd')

so this works well for me :D

$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10),'date_upd','DESC');

And my problem was about format of document, i m using netbeans and my netbeans are configured for save on utf-8 documents, and this should be saved on "Western European", because that my pretashop show this bug

 

Problem solved ;)

Edited by tabutnas (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...