Objectif
Nous souhaitons ajouter une colonne qui indique le nombre de ventes pour l'année 2021.
Nous pourrons ainsi :
Pour ajouter le champ à la liste des champs disponibles pour vos grilles produit, cliquez sur le bouton
Quel est l'ID du champ ? : nb_sales
SC crée le champ, il faut maintenant renseigner dans la grille :
Nom du champ : nb_ventes
Table : saisissez : Another table
Type : Juste affiché
Rafraîchir les déclinaisons : Non
Dans le panneau des Propriétés Avancées à droite, sélectionnez le menu SQL Select et renseignez :
return ',COALESCE((SELECT SUM(od.product_quantity) AS nb
FROM `'._DB_PREFIX_.'order_detail` od
INNER JOIN `'._DB_PREFIX_.'orders` o ON (od.id_order = o.id_order)
WHERE od.product_attribute_id=pa.id_product_attribute
AND o.valid=1
AND o.current_state IN (4,5)
AND o.date_add BETWEEN "2021-01-01" AND "2021-12-31 23:59:59"
LIMIT 1),0) AS nb_sales';
Dans le panneau des Propriétés Avancées à droite, sélectionnez le menu PHP Definition et renseignez :
$combArray[$combinaison['id_product_attribute']]['nb_sales'] = (int)$combinaison['nb_sales'];
On prend ici les commandes valides qui sont en état 4 ou 5 (voir le menu Commandes > Etat de PrestaShop pour la liste des états) pour la période du 01/07/2020 au 31/12/2020.
Enregistrez sur la barre d'outils
Fermez la fenêtre d'édition des champs personnalisés.
Le nouveau champ est présent dans la liste des champs disponibles, et vous pouvez l'ajouter à vos grilles.