Bonjour, voilà j'ai fais un petit bout de code qui peut être amélioré certainement, je l'ai fabriqué pour me rendre service plutôt que de payer la license pour un truc aussi simple à coder... donc autant que ça serve à d'autres !
Pour changer donc le module nouveautés(oui bon c'est du raffistolage, vous perdez le module nouveautés au profit de l'aléatoire...) en produits aléatoire, allez changer le fichier :
catalog/controller/module/latest.php
et remplacez :
Code: Select all
$data = array(
'sort' => 'p.date_added',
'order' => 'DESC',
'start' => 0,
'limit' => $setting['limit']
);
$results = $this->model_catalog_product->getProducts($data);
Code: Select all
$data = array(
'sort' => 'p.date_added',
'order' => 'DESC',
'start' => 0
);
$results = $this->model_catalog_product->getProducts($data);
$myLimit = $setting['limit'] <= count($results) ? $setting['limit'] : count($results);
$nums = array();
for ($i=0;$i<count($results);$i++){
array_push($nums, $i);
}
$randKeys = array_rand($nums, $myLimit);
$tempArray = array();
for ($i=0;$i<count($randKeys);$i++){
$count = 0;
foreach ($results as $result) {
if ($count == $randKeys[$i]){
array_push($tempArray, $result);
}
$count++;
}
}
$results = $tempArray;
catalog/language/french/module/latest.php
(french ou english, enfin la langue de votre site, quoi !)
et changez la traduction.
Pour info, la limite du "nouveautés" fonctionne aussi pour le random via l'admin, et la mise en page reste inchangée.
SURTOUT faites un backup des fichiers originaux pour pouvoir revenir à la bonne version du module !!!