Caminandobien Posted April 21, 2014 Share Posted April 21, 2014 Hola Alguién sabe como colocar el bloque de Productos Destacados en la Página de inicio de forma aleatoria en el prestashop 1.6 He encontrado para otras versiones. Alguién me echa una mano para la version 1.6. Gracias Link to comment Share on other sites More sharing options...
Josraso Posted April 21, 2014 Share Posted April 21, 2014 Prueba con este aporte http://www.prestashop.com/forums/topic/317280-productos-nuevos-aleatorio-prestashop-16/ de todas formas en este post parece que tambien lo lograron. http://www.prestashop.com/forums/topic/315819-solucionado-productos-destacados-aleatorios-16/ Link to comment Share on other sites More sharing options...
Caminandobien Posted April 21, 2014 Author Share Posted April 21, 2014 Hola Josraso. Gracias mas una vez. Voy a echar una ojeada. Te digo si ha funcionado. Link to comment Share on other sites More sharing options...
Caminandobien Posted April 22, 2014 Author Share Posted April 22, 2014 hola Josraso. Gracias compañero. Ya funciona a la perfección. Link to comment Share on other sites More sharing options...
medussa Posted May 15, 2014 Share Posted May 15, 2014 Hola amigos. Estoy intentando hacer lo de los productos destacados aleatorios pero no encuentro esas lineas de codigo. Alguien puede ayudarme por favor? Esto es lo que tengo: public_html/modules/homefeatured/homefeatured.php 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.4'; $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); 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 = (int)Tools::getValue('HOME_FEATURED_NBR'); if (!$nbr || $nbr <= 0 || !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) && count($errors)) $output .= $this->displayError(implode('<br />', $errors)); else $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(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); $nb = (int)Configuration::get('HOME_FEATURED_NBR'); 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) { if (!$this->isCached('homefeatured.tpl', $this->getCacheId())) { $this->_cacheProducts(); $this->smarty->assign( array( 'products' => HomeFeatured::$cache_products, 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), ) ); } return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId()); } 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 root 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).'), ), ), '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', Configuration::get('HOME_FEATURED_NBR')), ); } } Link to comment Share on other sites More sharing options...
Recommended Posts