aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    [1.6.1.0]+ Too many tables, MySQL can only use 61 tables in a join - Backoffice, créer/éditer un produit (SpecificPriceRule.php)

    Planifier Épinglé Verrouillé Déplacé BUG connus
    1.6bug
    1 Messages 1 Publieurs 833 Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • doekiaD Hors-ligne
      doekia
      dernière édition par eolia

      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

      https://store.enter-solutions.com modules, support et assistance.

      Je précise que je n'ai pas fait ni Paco-Rabane, ni Poudlard 2ème langue - je ne suis ni devin, ni magicien.
      Fournissez un maximum d'information dans vos questions, version exacte du coeur et de vos modules, si besoin un peu d'histoire sur votre shop et vos recherches, les modules tiers installés, ...

      Si mon intervention vous a aidé, n'hésitez pas à me remercier: https://ko-fi.com/A153227G

      1 réponse Dernière réponse Répondre Citer 1
      • Premier message
        Dernier message
      bug
      26 sujets
      1.6
      24 sujets
      front-office
      11 sujets
      1.5
      8 sujets
      1.7
      5 sujets
      système
      4 sujets
      administration
      3 sujets
      hack
      3 sujets
      module
      3 sujets
      performance
      3 sujets
      smtp
      3 sujets
      transporteurs
      3 sujets
      dashboard
      2 sujets
      https
      2 sujets
      paypal
      2 sujets
      promotions
      2 sujets