Jump to content

Hook à la validation d'adresse


Recommended Posts

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...