Récemment
-
Phenix 1.6.X Cannot Print a Deliver Note
Bugs & Améliorations4 -
Module Payplug
Modules2 -
Module Prestashop Account
Modules3 -
balise canonical
PhenixSuite3 -
Erreur lors de nouvelle installation
Questions relatives à l'installation/upgrade25 -
modules addons vs phenix suite
Discussion générale3 -
Contexte client et module devis
PhenixSuite8 -
Breadcrumb sans lien précédent
Bugs & Améliorations3 -
Multi-utilisateur-produit
Nouvelles fonctionnalités4 -
Commandes fournisseurs
PhenixSuite4 -
Suppression du . dans les déclinaisons
PhenixSuite3 -
Images produit qui disparaissent
Bugs & Améliorations30 -
devcustom ?
PhenixSuite5 -
Mode profiling
Bugs & Améliorations1 -
Urls bizarres dans la console search
PhenixSuite12 -
Erreurs 410 dans BO
PhenixSuite3 -
la classe search
Bugs & Améliorations2 -
Probleme depuis MAJ phenix 1.6.2.36
PhenixSuite8 -
[resolu] Le module mondial relay 3.4.5
Bugs & Améliorations1 -
controlleur fournisseurs.
Bugs & Améliorations11
[1.6.1.0]+ Too many tables, MySQL can only use 61 tables in a join - Backoffice, créer/éditer un produit (SpecificPriceRule.php)
-
Lorsque vous avez plus de 59 catégories dans une condition de règle catalogue, PrestaShop crash lors de l'enregistrement produit. Le problème peut survenir avec moins de règles catégories, si vos règles utilisent d'autres conditions (features, attributes, suppliers, manufacturers,
Le code en cause réside dans classes/SpecificPriceRule.php fonction SpecificPriceRule::getAffectedProducts()
} elseif ($condition['type'] == 'category') { $query->leftJoin('category_product', 'cp'.(int)$id_condition, 'p.`id_product` = cp'.(int)$id_condition.'.`id_product`') ->where('cp'.(int)$id_condition.'.id_category = '.(int)$condition['value']); } elseif ($condition['type'] == 'supplier') {Vous devez remplacer cette section par:
} elseif ($condition['type'] == 'category') { if ($once) { $query->innerJoin('specific_price_rule_condition_group', 'sprg', 'sprg.id_specific_price_rule='.(int)$this->id); $query->innerJoin('specific_price_rule_condition','sprc', 'sprc.type = "category" and sprc.id_specific_price_rule_condition_group = sprg.id_specific_price_rule_condition_group'); $query->innerJoin('category_product', 'cp', 'p.`id_product` = cp.`id_product` and cp.id_category = sprc.value'); $once = false; } } elseif ($condition['type'] == 'supplier') {Ajoutez ensuite la ligne $once = true; juste avant le foreach:
// Add the conditions $once = true; foreach ($condition_group as $id_condition => $condition) {Enfin créez un index dans votre schéma (sql):
ALTER TABLE `ps_specific_price_rule_condition` ADD INDEX `id_specific_price_rule_condition_group_type` (`id_specific_price_rule_condition_group`, `type`);Ce bug est également lié à celui-ci: https://bb.enter-solutions.net/topic/1071/1-6-1-0-duplicate-entry-xxxxxx-for-key-id_product_2-insert-into-ps_specific_price-backoffice-créer-éditer-un-produit-specificpricerule-php