Post by ElgrimSC » Thu Jul 26, 2012 8:41 pm

Compatilibté : Fonctionne avec PhP5, donc... au moins la version 1.5.1, et certainement un paquet de versions précédentes.

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);
par :

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;
Pour changer le titre (eh oui il s'affiche toujours "Nouveautés" sur votre site), cherchez le fichier :

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

Newbie

Posts

Joined
Thu Jul 26, 2012 8:24 pm

Post by onlytech » Mon Aug 13, 2012 7:22 pm

Bonjour,

Merci pour ce bout de code qui peut etre intéressant pour certains. Je vous invite vivement à poster votre contribution sur http://forum.opencart-france.fr

Global Moderator

Posts

Joined
Thu Jul 16, 2009 8:42 pm

Post by jeromen » Tue Jan 08, 2013 1:16 am

Il y a un souci avec 'limit' => $setting['limit']

Notice: Undefined index: limit in .../vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 191

New member

Posts

Joined
Tue Oct 09, 2012 5:35 am

Post by onlytech » Fri May 10, 2013 5:30 pm

Le problème a été résolu ?

Global Moderator

Posts

Joined
Thu Jul 16, 2009 8:42 pm
Who is online

Users browsing this forum: No registered users and 17 guests