sábado, 15 de marzo de 2014

Como mostrar los Productos Destacados de forma aleatoria

Productos desracados aleatorios


Realizando una tienda online, me ha surgido la necesidad, por la cantidad de imágenes, de que en los productos destacados de la pagina principal se rotaran automáticamente las imágenes, para ello tenéis que acudir mediante tu FTP a:



tutiendaonline.com/modules/homefeatured/homefeatured.php

Localiza la linea:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8));

Sustituyela por las siguientes lineas:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, 200); shuffle($products); array_splice($products, ($nb ? $nb : 8));

De ese modo ya rotarán las imágenes aleatoriamente. Eso sí, sin olvidarte que a la hora de añadir los productos aplicarlo a la categoría de INICIO.

4 comentarios:

  1. Como puedo lograr mostrar los productos como en el ejemplo, digo por el efecto y cuadros que salen.

    Saludos

    ResponderEliminar
  2. Hay que modificar la plantilla, no es funcion de propio Prestashop

    ResponderEliminar
  3. si me pueden ayudar no consigo localizar la linea que indica le adjunto lo que pone :
    donde he localizado algo parecido es aqui+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).'css/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');
    }

    ResponderEliminar
  4. nada acabo de hacerlo y ahora no funciona nada tengo que restaurar toda la web de nuevo un desastre

    ResponderEliminar