Jump to content
Sign in to follow this  
melvita

RAZ de l'ordre des produits par catégorie

Recommended Posts

Bonjour a tous,

 

Je n'ai pas trouver un module permettant une RAZ de l'ordre des produits par catégorie.

Dans mon cas, un import de données sur une 1.4 puis un upgrade en 1.5 m'ont fait remarqué que l'ordre des produits ne fonctionnais pas ( la colonne "position" etait toujours vide )

 

Du coup j'ai crée ce petit script pour résoudre mon problème :

<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'prestashop_bdd');
define('_DB_USER_', 'prestashop_bdd_user');
define('_DB_PASSWD_', 'password');
define('MSG_CONNEXION_IMPOSSIBLE', 'Erreur de connexion a la bdd !');
$MAJ_position_sql='';
$i=0; 
$last_cat = 0;

if (! mysql_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_)) die(MSG_CONNEXION_IMPOSSIBLE.' : ' . mysql_error());
if (! mysql_select_db(_DB_NAME_)) die (MSG_CONNEXION_IMPOSSIBLE.' : ' . mysql_error());


$result = mysql_query("SELECT ps.* FROM `ps_category_product` ps WHERE 1 ORDER BY ps.id_category") or trigger_error(mysql_error());

while($row = mysql_fetch_array($result)){ 

	if($row['id_category']!= $last_cat){
		//echo '<hr />';
		$last_cat = $row['id_category'];
		$i=0;
	}
	$i++;
	$new_position=$i;
	//echo $row['id_category'].'|'.$row['id_product'].'|'.$row['position'].'|'.$new_position.'<br />';exit;
	$MAJ_position_sql .= "UPDATE `ps_category_product` SET position='".$new_position."' WHERE id_product='".$row['id_product']."'; " ;
	
}


//MAJ position
//echo $MAJ_position_sql;exit;
mysql_query($MAJ_position_sql) or die(mysql_error());
echo 'RAZ ordre des produits par catégorie terminé !';
?>

Je sais ce n'est pas très propre ni basé sur la doc PS (faut que je m'y penche ;-p ), d'ailleurs si vous avez des remarques ou critiques je suis preneur.

 

Merci a tous et bonne journée

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More