Bruno G Posted March 9, 2020 Share Posted March 9, 2020 Bonjour, Je cherche à trigger un hook lorsqu'un customer a ajouté une nouvelle adresse ou modifié une adresse existante APRES validation de Prestashop. Actuellement, dans la liste des hooks, nous avons actionValidateCustomerAddressForm. Selon la documentation : Quote "This hook is called when a customer submit its address form Located in: /classes/form/CustomerAddressForm.php" Lorsque nous allons voir dans cette classe, ce hook est effectivement placé AVANT validation par Prestashop car il permet de modifier la validation elle-même : if (($hookReturn = Hook::exec('actionValidateCustomerAddressForm', array('form' => $this))) !== '') { $is_valid &= (bool) $hookReturn; } Néanmoins, il existe un autre hook dans cette classe qui correspond exactement à ce que je souhaite dans la méthode submit() : Hook::exec('actionSubmitCustomerAddressForm', array('address' => &$address)); Je ne trouve ce hook nulle part dans la liste des hooks, ni dans la base de données (dans les tables des hooks). Comment m'en servir ? Merci à vous Link to comment Share on other sites More sharing options...
fbenoist.com Posted March 9, 2020 Share Posted March 9, 2020 Bonjour Tous les hooks ne sont pas dans la base de données. Pour utiliser ce hook (et accessoirement l'ajouter automatiquement dans la base de données), vous devez accrocher un module sur ce hook en PHP avec la fonction $this->registerHook('actionSubmitCustomerAddressForm'); Link to comment Share on other sites More sharing options...
Bruno G Posted March 9, 2020 Author Share Posted March 9, 2020 2 hours ago, fbenoist.com said: Bonjour Tous les hooks ne sont pas dans la base de données. Pour utiliser ce hook (et accessoirement l'ajouter automatiquement dans la base de données), vous devez accrocher un module sur ce hook en PHP avec la fonction $this->registerHook('actionSubmitCustomerAddressForm'); Bonjour et merci de ta réponse ! Au final je l'ai fait avec le fichier install.sql du module (appelé lors de l'installation) : $sql[] = 'INSERT IGNORE INTO `' . _DB_PREFIX_ . 'hook` (`id_hook`, `name`, `title`, `description`, `position`) VALUES (NULL, \'actionSubmitCustomerAddressForm\', \'When a customer update or insert an address\', \'Triggered after the validation of a customer address form\', \'1\')'; Au final ça fonctionne bien mais j'ai l'impression que ta méthode est plus propre... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now