Récemment
-
Calcul règle panier
Bugs & Améliorations1 -
Erreur SQL 1.6.2.23 -> 1.6.2.25
Questions relatives à l'installation/upgrade1 -
Configuration de wamp compatible presta.1.6.1.24 et PhenixSuite 1.6.2.25
Discussion générale2 -
Images sur les BL ne s'affichent pas
Bugs & Améliorations13 -
SQL [WARNING] MAJ 1.6.2.19 vers 1.6.2.25
Questions relatives à l'installation/upgrade3 -
MAJ .htaccess Apache 2.4 et 2.2
Nouvelles fonctionnalités4 -
Erreur - Le template d'e-mail suivant n'existe pas : /mails/fr/password_code.html [RÉSOLU]
Bugs & Améliorations3 -
Soucis ps_checkout (admin et front)
Bugs & Améliorations9 -
Erreur module block_cart en php8.2 mais pas en php7.4
Bugs & Améliorations7 -
Problème calcul HT
Bugs & Améliorations16 -
Erreur SQL sur le Liens Modules et Service après upgrade a 1.6.2.25
Questions relatives à l'installation/upgrade3 -
Erreur SQL sur la requête The used table type doesn't support FULLTEXT indexes
Questions relatives à l'installation/upgrade3 -
Maj de 1.6.1.20 rien ne se passe
Questions relatives à l'installation/upgrade2 -
information mise en cache désactivée sur param 1-click-upgrade
Questions relatives à l'installation/upgrade3 -
Erreur SQL syntax at line 14
Questions relatives à l'installation/upgrade5 -
paramétrage des colonnes d'une commande en BO
PhenixSuite4 -
Meilleure config Système pour une installation fraiche en 2024?
Questions relatives à l'installation/upgrade3 -
Erreurs VS code Monetico (pour info )
PhenixSuite7 -
Search.php
PhenixSuite2 -
Error logs (null object)
Bugs & Améliorations37
[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