okom3pom 682 Posted March 4, 2019 Bonjour, Je bloque sur l'ordre de mes produits, je veux mettre des articles en avant et ensuite trier par prix, j'utilise le champ exclu web. Donc dans public function getProducts de Category.php Ma fin de requête ressemble à ça : $sql .= ' ORDER BY FIELD(p.online_only,1) DESC, p.price ASC'; Ca fonctionne mais pas tout a fait, car le prix est celui de l'article et pas le prix remisé si il y a une remise. Le tri par prix avec les remises se passe dans : Tools::orderbyPrice($result, $order_way); Le problème c'est qu'une fois la moulinette passée, il me rechange l'ordre sans garder les articles que je veux mettre en avant. J'ai essayé de modifier la function appelé dans uasort(); mais je n'y arrive pas. https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/Tools.php#L3806 Si quelqu'un a une idée je la prends. Share this post Link to post Share on other sites
okom3pom 682 Posted March 4, 2019 Arf mais que je suis con ... Il me suffit d'assigner un prix à 0 quand p.online_only = 1, le prix étant défini temporairement. 1 Share this post Link to post Share on other sites
okom3pom 682 Posted March 4, 2019 Je précise également que ma requête n'est pas bonne/opti car au début j'utilisais un fabriquant donc le ORDER BY FIELD était nécessaire, depuis que j'utilise le champ online_only ce n'est plus nécessaire. Voilà si ça peut aider quelqu'un. Share this post Link to post Share on other sites