Jump to content

SOLUCIONADO mágenes Aleatorias


Langos Moda

Recommended Posts

Puedes cambiar el orden en el que se muestran en el módulo por defecto a que sea aleatorio bastante fácil:

en /modules/ps_imageslider/ps_imageslider.php cambia:

$slides = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
    SELECT hs.`id_homeslider_slides` as id_slide, hss.`position`, hss.`active`, hssl.`title`,
    hssl.`url`, hssl.`legend`, hssl.`description`, hssl.`image`
    FROM '._DB_PREFIX_.'homeslider hs
    LEFT JOIN '._DB_PREFIX_.'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides)
    LEFT JOIN '._DB_PREFIX_.'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides)
    WHERE id_shop = '.(int)$id_shop.'
    AND hssl.id_lang = '.(int)$id_lang.
    ($active ? ' AND hss.`active` = 1' : ' ').'
    ORDER BY hss.position'
);

por (sólo cambia la última línea):

$slides = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
    SELECT hs.`id_homeslider_slides` as id_slide, hss.`position`, hss.`active`, hssl.`title`,
    hssl.`url`, hssl.`legend`, hssl.`description`, hssl.`image`
    FROM '._DB_PREFIX_.'homeslider hs
    LEFT JOIN '._DB_PREFIX_.'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides)
    LEFT JOIN '._DB_PREFIX_.'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides)
    WHERE id_shop = '.(int)$id_shop.'
    AND hssl.id_lang = '.(int)$id_lang.
    ($active ? ' AND hss.`active` = 1' : ' ').'
    ORDER BY rand()'
);

y luego cambia:

public function renderWidget($hookName = null, array $configuration = [])
{
  	if (!$this->isCached($this->templateFile, $this->getCacheId())) {
  		$this->smarty->assign($this->getWidgetVariables($hookName, $configuration));
	}

	return $this->fetch($this->templateFile, $this->getCacheId());
}

por:

public function renderWidget($hookName = null, array $configuration = [])
{
  	$this->smarty->assign($this->getWidgetVariables($hookName, $configuration));
	return $this->fetch($this->templateFile, $this->getCacheId());
}

 

et voilà!

 

P.S. Lo mejor es hacer esto con un override, para no perder los cambios cuando actualices el módulo. 

Edited by w3bsolutions (see edit history)
Link to comment
Share on other sites

Apreciado w3bsolutions:  se agradece el tiepo que te has tomado en solucionar mi problema pero la solucion que tu propo nes lo unico que hace es crear un orden distinto de las diapositivas a mostrar y una vez lo creas siempre saco ese mismo orden. 

 

lo que yo queria es que cada vez que se refresque la pagina el orden de las diapositivas sea diferente es decir aleatorio

 

¿Tiene eso solucion?

Link to comment
Share on other sites

2 minutes ago, ofimat said:

pero la solucion que tu propo nes lo unico que hace es crear un orden distinto de las diapositivas a mostrar y una vez lo creas siempre saco ese mismo orden.

Siento decirte que no es verdad. Si has hecho los dos cambios que he puesto, cada vez que cargas la página se decide un orden aleatorio (lo he comprobado en mi tienda de pruebas). Justamente el segundo cambio es para que no se cachee nunca. 

Si la cargas dos veces seguidas y te sale como primera imagen la misma otra vez es porque el orden aleatorio lo ha sacado así. Si refrescas varias veces tienes que ver que cambia. 

Link to comment
Share on other sites

me parece ridiculo que tu y yo discutamos.... a ti puede que te funcione pero a mi no me funciona pasa lo que te he dicho antes.

puedes verlo en www.festagallery.es

¿puede que influya el que use la plantilla varchshop y no la clásica de prestashop?

yo ya te digo que me fio mas de vosotros los que sabéis que de mi mismo pero en este caso siento decirlo que esto que me ocurre lo ven m is ojos y no puedo engañarte diciéndote que ya esta conseguido.  Sera por algo que tanto a ti como a mi se nos escape pero ocurrir ocurre

Link to comment
Share on other sites

  • Langos Moda changed the title to SOLUCIONADO mágenes Aleatorias

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