Traducción literal de la guía de Vekia.
Aunque vamos a editar el controlador original recordar que lo optimo es hacer un override.
Editamos fichero: /controllers/admin/AdminOrdersController.php
Buscamos la siguiente instrucción:
$this->_join = ' LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'address` address ON address.id_address = a.id_address_delivery LEFT JOIN `'._DB_PREFIX_.'country` country ON address.id_country = country.id_country LEFT JOIN `'._DB_PREFIX_.'country_lang` country_lang ON (country.`id_country` = country_lang.`id_country` AND country_lang.`id_lang` = '.(int)$this->context->language->id.') LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')';
Y vamos a modificar la consulta del siguiente modo:
Como podéis ver en la captura, hemos añadido encima del primer elemento de la consulta la siguiente instrucción:
LEFT JOIN `'._DB_PREFIX_.'order_carrier` oc ON a.`id_order` = oc.`id_order`
Por último, en el mismo fichero, buscamos la siguiente instrucción:
'id_order' => array( 'title' => $this->l('ID'), 'align' => 'text-center', 'class' => 'fixed-width-xs' ),
Que corresponde a la columna de ID pedido del listado de pedidos.
Y añadimos debajo la siguiente instrucción:
'tracking_number' => array( 'title' => $this->l('tracking number'), 'havingFilter' => true, ),
Ahora veremos que en el listado de pedidos podremos buscar los pedidos por el número de seguimiento.
Documento para Prestashop 1.6
Recordar que lo ideal no es editar el controlador original, sino hacer un override del controlador en: /override/controllers/admin/