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

    1.6.2.11 - Bug classe Carrier

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    2 Messages 2 Publieurs 236 Vues 2 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.
    • S Hors-ligne
      Sda33
      dernière édition par

      Pour info, j'ai une erreur 500 en FO au moment de me connecter, ,je suis étonnée de ne pas avoir vu remonter le bug ?
      Cela vient de la classe Carrier, ligne 634, un problème de parenthèses mal placées. La requête était ok sur la version 1.6.2.9.

      ON(cz.id_zone = zz.id_zone) ON zz.`id_zone` = c.`id_zone`)
      

      j'ai remplacé par

      ON cz.id_zone = zz.id_zone) ON zz.`id_zone` = c.`id_zone`
      

      Je ne sais pas si c'est utile ou au contraire non souhaitable, mais j'ai ajouté un distinct dans le Select ?

      1 réponse Dernière réponse Répondre Citer 0
      • eoliaE Hors-ligne
        eolia
        dernière édition par

        Bonjour,
        Effectivement le bug a été remonté sur la 11.
        Il est corrigé dans la 12 qui sort incessamment sous peu

                $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
                    SELECT cl.*,c.*, cl.`name` AS country, zz.`name` AS zone
                    FROM `'._DB_PREFIX_.'country` c'.
                    Shop::addSqlAssociation('country', 'c').'
                    INNER JOIN `'._DB_PREFIX_.'country_lang` cl 
                        ON(c.`id_country` = cl.`id_country` 
                        AND cl.`id_lang` = '.(int)$id_lang.')
                    INNER JOIN `'._DB_PREFIX_.'carrier_zone` cz 
                        ON(cz.id_zone = c.id_zone)
                    INNER JOIN `'._DB_PREFIX_.'carrier` cr 
                        ON(cr.id_carrier = cz.id_carrier 
                        AND cr.deleted = 0 '.
                        ($active_carriers ? '
                            AND cr.active = 1) ' : ') ').'
                    LEFT JOIN `'._DB_PREFIX_.'zone` zz 
                        ON(cz.id_zone = zz.id_zone 
                        AND zz.`id_zone` = c.`id_zone`)
                    WHERE 1
                    '.($active_countries ? '
                        AND c.active = 1' : '').'
                    '.(!is_null($contain_states) ? '
                        AND c.`contains_states` = '.(int)$contain_states : '').'
                    GROUP BY c.`id_country`
                    ORDER BY cl.`name` ASC
                ');
        

        Et non, le distinct n'est plus utile.

        Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

        1 réponse Dernière réponse Répondre Citer 0
        • 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