From d808652e0ae037cf93e5167254dbf1489ec049e5 Mon Sep 17 00:00:00 2001 From: vChabot Date: Thu, 10 May 2012 16:05:07 +0000 Subject: [PATCH] [-] BO : BugFix : #PSCFV-2292 : Column 'price' in order clause is ambiguous by filtering manufacturer product --- classes/Manufacturer.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/classes/Manufacturer.php b/classes/Manufacturer.php index 33580034e..0548a0b3c 100644 --- a/classes/Manufacturer.php +++ b/classes/Manufacturer.php @@ -323,6 +323,11 @@ class ManufacturerCore extends ObjectModel $order_by = explode('.', $order_by); $order_by = pSQL($order_by[0]).'.`'.pSQL($order_by[1]).'`'; } + $alias = ''; + if ($order_by == 'price') + $alias = 'product_shop.'; + elseif ($order_by == 'id_product') + $alias = 'p.'; $sql = 'SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, pa.`id_product_attribute`, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, i.`id_image`, il.`legend`, m.`name` AS manufacturer_name, tl.`name` AS tax_name, t.`rate`, @@ -369,7 +374,7 @@ class ManufacturerCore extends ObjectModel ($active_category ? ' INNER JOIN `'._DB_PREFIX_.'category` ca ON cp.`id_category` = ca.`id_category` AND ca.`active` = 1' : '').' WHERE cg.`id_group` '.$sql_groups.' ) - ORDER BY '.(($order_by == 'id_product') ? 'p.' : '').pSQL($order_by).' '.pSQL($order_way).' + ORDER BY '.$alias.pSQL($order_by).' '.pSQL($order_way).' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n; $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);