Bonjour
J'ai fait mes devoirs.
Si j'ai bien compris vos indications et la doc, dans la classe de mon module, j'ajoute dans la fonction install()
$this->registerHook('actionValidateOrder');
Puis, toujours dans la classe de mon module, j'ajoute une fonction publique non-statique
public function hookActionValidateOrder(array $params) { $this->_clearCache('*'); }
Est-ce que j'ai bon, ou suis-je passé à côté d'une étape essentielle (ça me semble trop simple...) ?
Note : dans mes tests en local, et sans ces modifications, je réalise que les commandes effectuées ne provoquent pas de mise à jour du compteur, ce qui me semble cohérent avec le comportement en production. Mais si l'on change l'état de la commande, en la passant par exemple du statut "En attente du paiement par chèque" au statut "En cours de préparation", le compteur est bien mis à jour. De même, si j'annule une commande après coup, alors qu'elle avait déjà été prise en compte par mon compteur, celui-ci est bien décrémenté.
Est-ce à dire que le changement d'état d'une commande appelle la fonction validateOrder() dans classes/PaymentModule.php ? Si oui, il me semble que je n'ai pas forcément besoin de modifier quoi que ce soit à mon module, ce qui là aussi serait trop beau... En effet, mon compteur se mettrait à jour lors du traitement des commandes, tout simplement. Je testerai ça sur les jours qui viennent et reviendrai confirmer ou infirmer.
Merci encore pour vos conseils et votre patience.