Jump to content

Comment ajouter plus de 50 000 déclinaisons sur un produit ?


Recommended Posts

Bonjour à tous,
Alors je ne sais pas si je suis dans la bonne rubrique du forum mais voilà, je vous expose mon problème.
J'ai un site internet d'impression en cours de développement sur lequel je vend des produits.
J'ai le produit "brochure 10x15cm" qui contient plusieurs dizaines de milliers de déclinaisons (plusieurs champs croisés : grammage, couverture, pelliculage, quantité, etc.). A chaque combinaison de déclinaisons, correspond un prix. Comment faire pour l'enregistrer dans la base de données, sachant qu'un trop grand nombre de déclinaisons fait planter Prestashop ? Comment faire pour mettre à jour simpement les tarifs ? Des solutions ? Des modules ?
MERCI POUR VOTRE AIDE.
Tchuss.
JJ.

Link to comment
Share on other sites

Bon alors, j'ai trouvé une solution simple pour ce qui ont le même problème que moi.

Il faut éditer le fichier classes/Product.php et remplacer la fonction "getAttributeCombinaisons" par

public function getAttributeCombinaisons($id_lang)
   {
       return Db::getInstance()->ExecuteS('
       SELECT pa.*, ag.`id_attribute_group`, ag.`is_color_group`, agl.`name` AS group_name, al.`name` AS attribute_name, a.`id_attribute`
       FROM `'._DB_PREFIX_.'product_attribute` pa
       RIGHT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
       RIGHT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute`
       RIGHT  JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
       RIGHT  JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.intval($id_lang).')
       RIGHT  JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.intval($id_lang).')
       WHERE pa.`id_product` = '.intval($this->id).'
       ORDER BY group_name ASC,pa.`id_product_attribute`');
   }


Cela permet d'accélérer le temps de traitement du serveur mais pas à l'infini...

Pour ce qui est de la mise à jour des prix, il suffit d'installer le très bon module "pricefixing" (http://www.henribaeyens.com/10ver/filez/prestashop_module_pricefixing)

En espérant que cela aide.

Link to comment
Share on other sites

  • 3 weeks later...

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