Faire un hook qui remplace l’objet dont on veut modifier le comportement, à partir d’un executehook bien choisi. L’objet est à passer par référence pour qu’il retourne les modifications.
Dans le hook on recréé l’objet avec la nouvelle classe (qui est une extension de la classe à surcharger). Puis on le recharge à partir des bons paramètres. Ne pas oublier les extrafields. On met la classe surchargeante dans son module bien sûr.
Evidemment, cela n’aura d’effet que via les appels hook concernés.
Dans mon cas je voulais que quand on valide une réception la commande liée soit marquée comme « reçue » même si les lignes reçues ne coïncident pas avec les lignes de la commande. Et oui, dans la vraie vie il est rare qu’une livraison corresponde exactement avec la commande fournisseur. Pour autant, il faut quand même classer la commande à « reçue » pour pouvoir la traiter.
Ajouter une fonction Override à la manière de Joomla ?
Comme dans l’autre post sur la surcharge d’une page, je me demande s’il n’y a pas une autre méthode, et je suggère d’intégrer dans Dolibarr une fonction override à la manière de Joomla (voir le post). Ce serait tellement plus simple !
Bonsoir,
dans ce cas l’approche dolibarr aurait été plutôt d’implémenter le trigger ad-hoc, sans chercher trop je propose de regarder si l’un de ceux ci serait adapté ?