Jump to content

Edit History

Eolia

Eolia

Parce OVH a forcé le passage en Mysql8 et que celui-ci ne tient plus compte implicitement de l'ordre par défaut de l'auto incrément.

Vous êtes donc passé en MySQL 8 et votre version Prestashop n'est pas compatible.

Il faut patcher la fonction Product::getAttributesResume() en ajoutant un ORDER BY à cette 1ère requête:

        $combinations = Db::getInstance()->executeS('
            SELECT pa.*, product_attribute_shop.*
            FROM `'._DB_PREFIX_.'product_attribute` pa
            '.Shop::addSqlAssociation('product_attribute', 'pa').'
            WHERE pa.`id_product` = '.(int)$this->id.'
            GROUP BY pa.`id_product_attribute`
            ORDER BY pa.`id_product_attribute`
        ');

ligne ajoutée: ORDER BY pa.`id_product_attribute`

Idem pour la requête qui suit:

        $lang = Db::getInstance()->executeS('SELECT pac.id_product_attribute, GROUP_CONCAT(agl.`name`, \''.pSQL($attribute_value_separator).'\',al.`name` ORDER BY agl.`id_attribute_group` SEPARATOR \''.pSQL($attribute_separator).'\') as attribute_designation
		FROM `'._DB_PREFIX_.'product_attribute_combination` pac
		LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute`
		LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
		LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)$id_lang.')
		LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.(int)$id_lang.')
		WHERE pac.id_product_attribute IN ('.implode(',', $product_attributes).')
		GROUP BY pac.id_product_attribute
                ORDER BY pac.id_product_attribute
        ');

ligne ajoutée: ORDER BY pac.id_product_attribute

Eolia

Eolia

Parce OVH a forcé le passage en Mysql8 et que celui-ci ne tient plus compte implicitement de l'ordre par défaut de l'auto incrément.

Vous êtes donc passé en MySQL 8 et votre version Prestashop n'est pas compatible.

Il faut patcher la fonction Product::getAttributesResume() en ajoutant un ORDER BY

        $combinations = Db::getInstance()->executeS('
            SELECT pa.*, product_attribute_shop.*
            FROM `'._DB_PREFIX_.'product_attribute` pa
            '.Shop::addSqlAssociation('product_attribute', 'pa').'
            WHERE pa.`id_product` = '.(int)$this->id.'
            GROUP BY pa.`id_product_attribute`
            ORDER BY pa.`id_product_attribute`
        ');

ligne ajoutée: ORDER BY pa.`id_product_attribute`

Eolia

Eolia

Parce OVH a forcé le passage en Mysql8 et que celui-ci ne tient plus compte implicitement de l'ordre par défaut de l'auto incrément.

Vous êtes donc passé en MySQL 8 et votre version Prestashop n'est pas compatible.

Il faut patcher la fonction Product::getAttributesResume() en ajoutant un ORDER BY

$combinations = Db::getInstance()->executeS(' SELECT pa.*, product_attribute_shop.* FROM `'._DB_PREFIX_.'product_attribute` pa '.Shop::addSqlAssociation('product_attribute', 'pa').' WHERE pa.`id_product` = '.(int)$this->id.' GROUP BY pa.`id_product_attribute` ORDER BY pa.`id_product_attribute` ');

ligne ajoutée: ORDER BY pa.`id_product_attribute`

×
×
  • Create New...