TASG Posted January 5, 2010 Share Posted January 5, 2010 Boas amigos.Alguém sabe como colocar os produtos que aparecem na pagina inicial a mudarem aleatoriamente.Sempre que abro a página aparecem sempre os mesmo produtos, isso tornasse cansativo para o utilizador.Ja tentei colocar o modulo de produtos novos ou produtos vistos, mas sem sucesso.Pensei também em colocar as categorias principais mas penso que será mais complicado ainda.Obrigados pela ajuda dispensada. Link to comment Share on other sites More sharing options...
badolm Posted January 29, 2010 Share Posted January 29, 2010 ve se ajudahttp://www.prestashop.com/forums/viewthread/31900/portugues/module_random_special Link to comment Share on other sites More sharing options...
Leonardo Varão Posted August 27, 2011 Share Posted August 27, 2011 Esse sim é o modulo que você precisa. Confere aí http://www.varao.com.br/loja Link to comment Share on other sites More sharing options...
Ehinarr Posted September 5, 2011 Share Posted September 5, 2011 Se for uma PS v1.4.x, para fazer os produtos aparecerem em ordem aleatória no bloco homefeatured (Produtos em destaque - ou destacados), abra o ficheiro /modules/homefetured/homefeatured.php e substitua a função de mesmo nome por esta abaixo: function hookHome($params) { global $smarty; $category = new Category(1, Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); shuffle($products); $products = array_slice($products, 0, ($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__, 'homefeatured.tpl'); } A cada vez que abrires sua homepage, os produtos estarão em disposição diversa da abertura anterior. 2 Link to comment Share on other sites More sharing options...
Leonardo Varão Posted January 9, 2012 Share Posted January 9, 2012 Ehinnar mudei para o prestashop 1.4.3 e essa tua dica foi perfeita. Funcionou 100%. Brigadão cara. Link to comment Share on other sites More sharing options...
jfuentesp Posted February 5, 2012 Share Posted February 5, 2012 ¡Funciona perfecto! muchas gracias Link to comment Share on other sites More sharing options...
Rui1 Posted February 12, 2012 Share Posted February 12, 2012 olá, sim muito bom, bem pensado, já pus no meu. obrigado Ehinnar cumprimentos Link to comment Share on other sites More sharing options...
mauretex Posted September 4, 2012 Share Posted September 4, 2012 Boaaa muito bom era isso mesmo que precisava! Vlwsss Link to comment Share on other sites More sharing options...
Formafantasia Posted October 8, 2012 Share Posted October 8, 2012 Boas tardes Tentei por na minha loja PrestaShop™ 1.4.8.2 mas não funciona, aparece sem produtos, tudo a branco. Link to comment Share on other sites More sharing options...
studio9dade Posted May 16, 2013 Share Posted May 16, 2013 Olá pessoal! Alguém sabe como fazer isso na versão 1.5.3.1? Obrigado! Link to comment Share on other sites More sharing options...
Mobili Posted May 29, 2013 Share Posted May 29, 2013 Tambem estou procurando como fazer na versão 1.5.4.. alguem sabe? Link to comment Share on other sites More sharing options...
grzf Posted June 15, 2013 Share Posted June 15, 2013 (edited) vê se rola na 1.5.4... public function hookDisplayHome($params) { global $smarty; $category = new Category(Context::getContext()->shop->getCategory(), Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); shuffle($products); $products = array_slice($products, 0, ($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__, 'homefeatured.tpl'); } Edited June 15, 2013 by grzf (see edit history) 2 Link to comment Share on other sites More sharing options...
jefferson10yn Posted June 16, 2013 Share Posted June 16, 2013 Funcionou certinho no PS 1.5.4 Link to comment Share on other sites More sharing options...
Fran13 Posted June 20, 2013 Share Posted June 20, 2013 Funcionou muito bem. Obrigado. Só tenho é um problema. As imagens mudam de posição, mas mantem sempre o mesmo artigo, mesmo quando lanço novos produtos. PS 1.5.4 Link to comment Share on other sites More sharing options...
Fran13 Posted June 21, 2013 Share Posted June 21, 2013 (edited) Postei sem querer. Sorry. Edited June 21, 2013 by Fran13 (see edit history) Link to comment Share on other sites More sharing options...
webtuga1975 Posted July 1, 2013 Share Posted July 1, 2013 Funcionou certinho no PS 1.5.4 Comigo acontece o mesmo. Link to comment Share on other sites More sharing options...
Dead2010 Posted July 30, 2013 Share Posted July 30, 2013 olá, pus o código na versão prestashop 1.4.10 e funcionou. cumprimentos Link to comment Share on other sites More sharing options...
idinei Posted August 7, 2013 Share Posted August 7, 2013 Olá, Tenho uma versão 1.5.0.17 e não consegui colocar mais produtos na tela inicial, só aparecem 3 itens. Gostaria ter mais itens e aletorios.. alguem pode me ajudar!! Link to comment Share on other sites More sharing options...
paulormf Posted September 18, 2013 Share Posted September 18, 2013 Funcionou muito bem. Obrigado. Só tenho é um problema. As imagens mudam de posição, mas mantem sempre o mesmo artigo, mesmo quando lanço novos produtos. PS 1.5.4 ---Boa noite Fran, conseguiu corrigir este problema? estou com a mesma situação aqui e não consigo a solução.. Obrigado! Link to comment Share on other sites More sharing options...
idinei Posted September 19, 2013 Share Posted September 19, 2013 Olá, A Todos Gostaria de Saber se este módulo faria as funções de trocar os produtos da pagina principal? http://addons.prestashop.com/pt/seo-modulo-prestashop/1773-module-produits-au-hasard-en-boxe.html Link to comment Share on other sites More sharing options...
famestore Posted November 9, 2013 Share Posted November 9, 2013 vê se rola na 1.5.4... public function hookDisplayHome($params) { global $smarty; $category = new Category(Context::getContext()->shop->getCategory(), Configuration::get('PS_LANG_DEFAULT')); $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); shuffle($products); $products = array_slice($products, 0, ($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__, 'homefeatured.tpl'); } Obrigado funcionou perfeitamente! Link to comment Share on other sites More sharing options...
Volotao Posted November 15, 2013 Share Posted November 15, 2013 NA versão 1.5.5 tambem funcionou mas só aparece as descrições e os preços dos produtos, as imagem não aparecem. Link to comment Share on other sites More sharing options...
aldoscully Posted November 22, 2013 Share Posted November 22, 2013 Bom dia, pessoal. Tenho a versao 1.5.6 e coloquei o codigo e funcionou mas so muda uma categoria dos meus produtos. tenho outra categoria que nem aparece na home. Novos produtos tb nao.. Alguem solucionou? Link to comment Share on other sites More sharing options...
Alcir Posted November 28, 2013 Share Posted November 28, 2013 Boa tarde! O código funcionou. Não tem como colocar para os produtos para aparecerem aleatoriamente? Mostra somente os produtos com fotos aleatoriamente na pagina principal? Link to comment Share on other sites More sharing options...
raphael_morais Posted September 28, 2014 Share Posted September 28, 2014 Tem como fazer isso na versão 1.6.0.9? Link to comment Share on other sites More sharing options...
hrq1 Posted November 21, 2014 Share Posted November 21, 2014 Tem como fazer isso na versão 1.6.0.9? Na Versao 1.6 In v1.6 shop/modules/homefeatured/homefeatured.php <?php /* * 2007-2014 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-2014 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 { protected static $cache_products; public function __construct() { $this->name = 'homefeatured'; $this->tab = 'front_office_features'; $this->version = '1.6'; $this->author = 'PrestaShop'; $this->need_instance = 0; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('Featured products on the homepage'); $this->description = $this->l('Displays featured products in the central column of your homepage.'); } public function install() { $this->_clearCache('*'); Configuration::updateValue('HOME_FEATURED_NBR', 8); Configuration::updateValue('HOME_FEATURED_CAT', (int)Context::getContext()->shop->getCategory()); Configuration::updateValue('HOME_FEATURED_RANDOMIZE', false); if (!parent::install() || !$this->registerHook('header') || !$this->registerHook('addproduct') || !$this->registerHook('updateproduct') || !$this->registerHook('deleteproduct') || !$this->registerHook('categoryUpdate') || !$this->registerHook('displayHomeTab') || !$this->registerHook('displayHomeTabContent') ) return false; return true; } public function uninstall() { $this->_clearCache('*'); return parent::uninstall(); } public function getContent() { $output = ''; $errors = array(); if (Tools::isSubmit('submitHomeFeatured')) { $nbr = Tools::getValue('HOME_FEATURED_NBR'); if (!Validate::isInt($nbr) || $nbr <= 0) $errors[] = $this->l('The number of products is invalid. Please enter a positive number.'); $cat = Tools::getValue('HOME_FEATURED_CAT'); if (!Validate::isInt($cat) || $cat <= 0) $errors[] = $this->l('The category ID is invalid. Please choose an existing category ID.'); $rand = Tools::getValue('HOME_FEATURED_RANDOMIZE'); if (!Validate::isBool($rand)) $errors[] = $this->l('Invalid value for the "randomize" flag.'); if (isset($errors) && count($errors)) $output = $this->displayError(implode('<br />', $errors)); else { Configuration::updateValue('HOME_FEATURED_NBR', (int)$nbr); Configuration::updateValue('HOME_FEATURED_CAT', (int)$cat); Configuration::updateValue('HOME_FEATURED_RANDOMIZE', (bool)$rand); Tools::clearCache(Context::getContext()->smarty, $this->getTemplatePath('homefeatured.tpl')); $output = $this->displayConfirmation($this->l('Your settings have been updated.')); } } return $output.$this->renderForm(); } public function hookDisplayHeader($params) { $this->hookHeader($params); } public function hookHeader($params) { if (isset($this->context->controller->php_self) && $this->context->controller->php_self == 'index') $this->context->controller->addCSS(_THEME_CSS_DIR_.'product_list.css'); $this->context->controller->addCSS(($this->_path).'homefeatured.css', 'all'); } public function _cacheProducts() { if (!isset(HomeFeatured::$cache_products)) { $category = new Category((int)Configuration::get('HOME_FEATURED_CAT'), (int)Context::getContext()->language->id); $nb = (int)Configuration::get('HOME_FEATURED_NBR'); if (Configuration::get('HOME_FEATURED_RANDOMIZE')) HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), null, null, false, true, true, ($nb ? $nb : 8)); else HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), 'position'); } if (HomeFeatured::$cache_products === false || empty(HomeFeatured::$cache_products)) return false; } public function hookDisplayHomeTab($params) { if (!$this->isCached('tab.tpl', $this->getCacheId('homefeatured-tab'))) $this->_cacheProducts(); return $this->display(__FILE__, 'tab.tpl', $this->getCacheId('homefeatured-tab')); } 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));*/ $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10), 'date_add', 'DESC', false, true, true, $nb); shuffle($products); $this->smarty->assign(array( 'products' => $products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize('home_default'), )); return $this->display(__FILE__, 'homefeatured.tpl'); } public function hookDisplayHomeTabContent($params) { return $this->hookDisplayHome($params); } public function hookAddProduct($params) { $this->_clearCache('*'); } public function hookUpdateProduct($params) { $this->_clearCache('*'); } public function hookDeleteProduct($params) { $this->_clearCache('*'); } public function hookCategoryUpdate($params) { $this->_clearCache('*'); } public function _clearCache($template, $cache_id = NULL, $compile_id = NULL) { parent::_clearCache('homefeatured.tpl'); parent::_clearCache('tab.tpl', 'homefeatured-tab'); } public function renderForm() { $fields_form = array( 'form' => array( 'legend' => array( 'title' => $this->l('Settings'), 'icon' => 'icon-cogs' ), 'description' => $this->l('To add products to your homepage, simply add them to the corresponding product category (default: "Home").'), 'input' => array( array( 'type' => 'text', 'label' => $this->l('Number of products to be displayed'), 'name' => 'HOME_FEATURED_NBR', 'class' => 'fixed-width-xs', 'desc' => $this->l('Set the number of products that you would like to display on homepage (default: 8).'), ), array( 'type' => 'text', 'label' => $this->l('Category from which to pick products to be displayed'), 'name' => 'HOME_FEATURED_CAT', 'class' => 'fixed-width-xs', 'desc' => $this->l('Choose the category ID of the products that you would like to display on homepage (default: 2 for "Home").'), ), array( 'type' => 'switch', 'label' => $this->l('Randomly display featured products'), 'name' => 'HOME_FEATURED_RANDOMIZE', 'class' => 'fixed-width-xs', 'desc' => $this->l('Enable if you wish the products to be displayed randomly (default: no).'), 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => $this->l('Yes') ), array( 'id' => 'active_off', 'value' => 0, 'label' => $this->l('No') ) ), ), ), 'submit' => array( 'title' => $this->l('Save'), ) ), ); $helper = new HelperForm(); $helper->show_toolbar = false; $helper->table = $this->table; $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); $helper->default_form_language = $lang->id; $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; $this->fields_form = array(); $helper->id = (int)Tools::getValue('id_carrier'); $helper->identifier = $this->identifier; $helper->submit_action = 'submitHomeFeatured'; $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->tpl_vars = array( 'fields_value' => $this->getConfigFieldsValues(), 'languages' => $this->context->controller->getLanguages(), 'id_language' => $this->context->language->id ); return $helper->generateForm(array($fields_form)); } public function getConfigFieldsValues() { return array( 'HOME_FEATURED_NBR' => Tools::getValue('HOME_FEATURED_NBR', (int)Configuration::get('HOME_FEATURED_NBR')), 'HOME_FEATURED_CAT' => Tools::getValue('HOME_FEATURED_CAT', (int)Configuration::get('HOME_FEATURED_CAT')), 'HOME_FEATURED_RANDOMIZE' => Tools::getValue('HOME_FEATURED_RANDOMIZE', (bool)Configuration::get('HOME_FEATURED_RANDOMIZE')), ); } } 1 Link to comment Share on other sites More sharing options...
Vendas Bellas Posted February 21, 2015 Share Posted February 21, 2015 Galera acabei de atualizar o modulo que vem por padrao do prestashop pra versão 1.6.2 dele..e nela ja vem a opção de aleatório e ainda vem a nova opção para vc escolher ql a categoria que quer que apareça na pagina inicial, não só a home mais.... Ficou show! Link to comment Share on other sites More sharing options...
selectshop.at Posted February 21, 2015 Share Posted February 21, 2015 Este tópico aqui está ultrapassado. Prestashop 1.6.011. já possue este feature implementado nativamente. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now