Mostrar número de pedidos por cliente en Prestashop

Traducción del idioma de Shakespeare al idioma de Cervantes de un aporte del usuario vekia de la Comunidad de Prestashop.

Aporte en el idioma de Shakespeare: 

https://mypresta.eu/en/art/developer/number-of-customers-orders.html

Aporte en el idioma de Cervantes:

Con este TIP cuando vayamos a la pestaña Clientes -> Clientes del panel de administración veremos en los listados de los clientes una columna llamada “Pedidos” con el número de pedidos de cada cliente.

Listado Clientes

Aunque vamos a editar los controladores directamente, recordar que lo más optimo y recomendable es hacer un override.

  • Fichero: /controllers/admin/AdminCustomersController.php

Buscamos la siguiente consulta SQL:

Consulta SQL

Y justo después de -> as connect añadimos:

(SELECT COUNT(*) FROM '._DB_PREFIX_.'orders o where o.valid =1 AND (o.id_customer = a.id_customer)) AS nb_of_orders

Quedando del siguiente modo:

Consulta modificada

De esta forma en la consulta vamos a poder obtener el número de pedidos por cliente.

El siguiente paso consiste en el mismo fichero:

Buscamos el siguiente código:

$this->fields_list = array(
'id_customer' => array(
'title' => $this->l('ID'),
'align' => 'text-center',
'class' => 'fixed-width-xs'
),

Correspondiente a la columna de ID cliente en el listado clientes y debajo añadimos:

'nb_of_orders' => array(
'title' => $this->l('Num Pedidos')
),

Quedando del siguiente modo:

Columna número de pedidos

Al acceder al listado de Clientes desde la pestaña Clientes -> Clientes veremos la columna de los pedidos.

Columna pedidos

Documento basado en Prestashop 1.6