Dobrý den,
pro změnu řazení produktů v objednávce podle názvu musíte upravit v souboru
classes/order/Order.php tuto část kódu:
Kód:
public function getProductsDetail()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.id_product = od.product_id)
LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
WHERE od.`id_order` = '.(int)($this->id));
}
na tvar:
Kód:
public function getProductsDetail()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.id_product = od.product_id)
LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
WHERE od.`id_order` = '.(int)($this->id).' ORDER BY od.`product_name`');
}
A pokud byste chtěl změnit řazení produktů i na faktuře, tak musíte upravit v souboru
classes/order/OrderInvoice.php tuto část kódu:
Kód:
public function getProductsDetail()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od
LEFT JOIN `'._DB_PREFIX_.'product` p
ON p.id_product = od.product_id
LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
WHERE od.`id_order` = '.(int)$this->id_order.'
AND od.`id_order_invoice` = '.(int)$this->id);
}
na tvar:
Kód:
public function getProductsDetail()
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_detail` od
LEFT JOIN `'._DB_PREFIX_.'product` p
ON p.id_product = od.product_id
LEFT JOIN `'._DB_PREFIX_.'product_shop` ps ON (ps.id_product = p.id_product AND ps.id_shop = od.id_shop)
WHERE od.`id_order` = '.(int)$this->id_order.'
AND od.`id_order_invoice` = '.(int)$this->id.' ORDER BY od.`product_name`');
}
Ale pak se Vám samozřejmě budou řadit stejným způsobem i produkty ve starých a nově vytvořených objednávkách (příp. fakturách). Takže pokud chcete seřadit produkty pouze v jedné objednávce, tak jedinou možností je úprava přímo v databázi v tabulce
ps_orders (příp.
vasprefix_orders). Podle id objednávky si ve sloupečky
id_order najdete všechny produkty v objednávce a prohodíte jim čísla ve sloupečku
id_order_detail, pomocí kterých se standardně řadí produkty v objednávce a faktuře.