melvita Posted November 19, 2013 Share Posted November 19, 2013 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 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now