Jump to content

Ordenar líneas de pedido en BackOffice


Recommended Posts

Hola! he actualizado mi tienda éste fin de semana de la 1.6.0.9 a la versión 1.6.1.6. 

Antes tenía en Pedidos ( Entrando al detalle del pedido) las líneas ordenadas por el campo de referencia. 

 

Lo dejo en el siguiente enlace:

 

https://www.prestashop.com/forums/topic/68926-solvededit-pdf-invoice-sort-orderreference/

 

Y me lo hacía completo (si mal no recuerdo, fallo mío al no documentar mis cambios "brutos")

 

Pero he probado varios cambios, y no ocurre nada en el Backoffice, si en los pdf.

 

He estado trasteando (en entorno de pruebas) con la archivo /controllers/admin/AdminOrderController.php pero sin éxito ninguno en Backoffice. He googleado todo lo posible, incluso en inglés, pero nada, si en el front, en el pdf, pero nada que sirva para el Backoffice y lógicamente funcione en la 1.6.1.6.

 

Espero que alguien pueda ayudarme.

 

Gracias!

Link to comment
Share on other sites

Y porque simplemente no vuelves hacer los cambios siguiente dicho tutorial, quiza han cambiado un poco las cosas desde cuando dan el ejemplo, para nuevas versiones seria cambiar

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);
}

Por

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_reference`');
}

En el archivo que indican

/classes/order/Order.php
Link to comment
Share on other sites

Gracias Rolige, pero como decía en el post he probado ese, y varios cambios más que se me han ocurrido en varios archivos incluso en los controllers, pero no doy con la tecla. 

He recuperado un Backup de la versión 1.6.0.9 y es el siguiente código de la respuesta del post que he puesto https://www.prestashop.com/forums/user/756825-lowcarbcentral/:
 

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_reference');
		}

en:

classes/order/OrderInvoice.php

y funciona perfectamente en Backoffice, Albarán y Facturas.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...