rushme Posted December 12, 2011 Share Posted December 12, 2011 Hi! I am trying to change the order of the products in my home featured, but moving the order in the backoffice does not seem to change the front-office at all... Not sure what's going on... using prestashop Version 1.3.2.3. is this a bug? I could swear it was working once... anyone can point me in the general direction of how to fix this? I am somewhat proficient in PHP so I can make changes to fix this if pointed in the general direction. thanks! Rush Link to comment Share on other sites More sharing options...
rushme Posted December 15, 2011 Author Share Posted December 15, 2011 Bump! please help... Link to comment Share on other sites More sharing options...
Sharak Posted March 23, 2013 Share Posted March 23, 2013 (edited) It's quite simple. All you need to do is change one line in your homefeatured.php file. In Prestashop 1.5.3.2 it's line nr 106: $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); and it should be changed to this: $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_upd', 'DESC'); This way you will get most recently updated products on top of the list. For other ways of sorting check column names in your ps_product table (prefix can be different than PS_) in your phpmyadmin i.e. date_add, id_product, id_supplier, id_manufacturer, id_category_default etc. Possible order ways: ASC, DESC Edited March 23, 2013 by Sharak (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted March 23, 2013 Share Posted March 23, 2013 @rushme please check Sharak solution, i think that it will work for you - if so, let us know about that Link to comment Share on other sites More sharing options...
laziali Posted March 25, 2013 Share Posted March 25, 2013 how about if i want to randomise them? Link to comment Share on other sites More sharing options...
laziali Posted March 25, 2013 Share Posted March 25, 2013 got that now! you actually have to click position to be able to rearrange them as you need. kind of liked the old 1.4 way, where this was obvious Link to comment Share on other sites More sharing options...
Fabiana G C de O Rox Posted February 21, 2014 Share Posted February 21, 2014 It's quite simple. All you need to do is change one line in your homefeatured.php file. In Prestashop 1.5.3.2 it's line nr 106: $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); and it should be changed to this: $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_upd', 'DESC'); This way you will get most recently updated products on top of the list. For other ways of sorting check column names in your ps_product table (prefix can be different than PS_) in your phpmyadmin i.e. date_add, id_product, id_supplier, id_manufacturer, id_category_default etc.Possible order ways: ASC, DESC Well, it didn't work for me!! I'm using 1.5.6.2 and the website is www.lotericapremiada.com.br Could you help me? Link to comment Share on other sites More sharing options...
vekia Posted February 22, 2014 Share Posted February 22, 2014 Well, it didn't work for me!! I'm using 1.5.6.2 and the website is www.lotericapremiada.com.br Could you help me? can you show how your code looks like ? in addition, after changes you have to recompile entire theme, its because this module uses module caching Link to comment Share on other sites More sharing options...
Fabiana G C de O Rox Posted February 22, 2014 Share Posted February 22, 2014 can you show how your code looks like ? in addition, after changes you have to recompile entire theme, its because this module uses module caching <?php /* * 2007-2013 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-2013 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 = '1.1'; $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() { $this->_clearCache('homefeatured.tpl'); Configuration::updateValue('HOME_FEATURED_NBR', 20); if (!parent::install() || !$this->registerHook('displayHome') || !$this->registerHook('header') || !$this->registerHook('addproduct') || !$this->registerHook('updateproduct') || !$this->registerHook('deleteproduct') ) return false; return true; } public function uninstall() { $this->_clearCache('homefeatured.tpl'); return parent::uninstall(); } 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('An invalid number of products has been specified.'); 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('Your settings have been 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('To add products to your homepage, simply add them to the "home" category.').'</p><br /> <label>'.$this->l('Define the number of products to be 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('Define the number of products that you would like to display on homepage (default: 20).').'</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) { 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 : 20), "position"); $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')); } public function hookAddProduct($params) { $this->_clearCache('homefeatured.tpl'); } public function hookUpdateProduct($params) { $this->_clearCache('homefeatured.tpl'); } public function hookDeleteProduct($params) { $this->_clearCache('homefeatured.tpl'); } } Link to comment Share on other sites More sharing options...
vekia Posted February 22, 2014 Share Posted February 22, 2014 position is a default sorting method for this module Link to comment Share on other sites More sharing options...
Fabiana G C de O Rox Posted February 24, 2014 Share Posted February 24, 2014 Is there nothing I can do to change it?? Link to comment Share on other sites More sharing options...
El Patron Posted February 24, 2014 Share Posted February 24, 2014 sorry to pop in late on this and not sure I can help... but one sorts how they want home featured to appear by position under category 'home'. what I have seen with home featured is that it uses cache, for example if I put in a specific price the product reflects this but not home featured until I clear cache. please set postition of featured products under category home...then back office-->advanced parms-->performance-->clear smarty cache and autoload cache. hope that helps Link to comment Share on other sites More sharing options...
Fabiana G C de O Rox Posted February 24, 2014 Share Posted February 24, 2014 (edited) sorry to pop in late on this and not sure I can help... but one sorts how they want home featured to appear by position under category 'home'. what I have seen with home featured is that it uses cache, for example if I put in a specific price the product reflects this but not home featured until I clear cache. please set postition of featured products under category home...then back office-->advanced parms-->performance-->clear smarty cache and autoload cache. hope that helps Thanks for your kindness, but it didn't work! Edited February 24, 2014 by Fabiana G C de O Rox (see edit history) Link to comment Share on other sites More sharing options...
El Patron Posted February 24, 2014 Share Posted February 24, 2014 Thanks for your kindness, but it didn't work! this is how it works 'out of the box' from PrestaShop, i.e. without any customization 1. display of home featured http://screencast.com/t/JU3eMn6rR 2. modify order of products in home category, here I moved ipod touch to top of home category http://screencast.com/t/d9XYLoeJL6 3. cleared cache (may not always be necessary do this if you do not get new featured order) http://screencast.com/t/bzgbX92d 4. this is the final result (ipod touch is now first in home featrued) http://screencast.com/t/z578ryWN Link to comment Share on other sites More sharing options...
Fabiana G C de O Rox Posted February 24, 2014 Share Posted February 24, 2014 this is how it works 'out of the box' from PrestaShop, i.e. without any customization 1. display of home featured http://screencast.com/t/JU3eMn6rR 2. modify order of products in home category, here I moved ipod touch to top of home category http://screencast.com/t/d9XYLoeJL6 3. cleared cache (may not always be necessary do this if you do not get new featured order) http://screencast.com/t/bzgbX92d 4. this is the final result (ipod touch is now first in home featrued) http://screencast.com/t/z578ryWN Dear El Patron, I would like to thank you hugely !!! It works!! Many thanks, Link to comment Share on other sites More sharing options...
El Patron Posted February 24, 2014 Share Posted February 24, 2014 Dear El Patron, I would like to thank you hugely !!! It works!! Many thanks, with pleasure Link to comment Share on other sites More sharing options...
mikavulin Posted February 28, 2014 Share Posted February 28, 2014 hello El Patron I have the same issue but i did not manage to change positions as in the Home category i don't see how to move a item up or down in version 1.4.8.2 I have a drag and drop curser but not anymore in 1.5.6.1 thanks Link to comment Share on other sites More sharing options...
mikavulin Posted February 28, 2014 Share Posted February 28, 2014 hello El Patron I have the same issue but i did not manage to change positions as in the Home category i don't see how to move a item up or down in version 1.4.8.2 I have a drag and drop curser but not anymore in 1.5.6.1 thanks Well it is back (the cursor) , yess thanks Link to comment Share on other sites More sharing options...
Recommended Posts