Php 如何在PrestaShop中创建帐户后添加新流程?

Php 如何在PrestaShop中创建帐户后添加新流程?,php,mysql,prestashop,Php,Mysql,Prestashop,我需要使用它的API将我安装的PrestaShop链接到另一个web应用程序。此新流程必须在创建帐户或确认后(通过发送电子邮件)完成。由于我在开发PrestaShop方面没有做任何工作,所以我不熟悉它的文件夹、文件、控制器及其方法。我在controller/front/AuthController.php中找到了一些东西,但我不确定它是否正确? 您能帮我找到插入新代码的确切位置吗?如果您只想在前台创建帐户时执行某些操作,您可以使用钩子操作CustomerAccountAdd。在创建帐户时,它将执

我需要使用它的API将我安装的PrestaShop链接到另一个web应用程序。此新流程必须在创建帐户或确认后(通过发送电子邮件)完成。由于我在开发PrestaShop方面没有做任何工作,所以我不熟悉它的文件夹、文件、控制器及其方法。我在
controller/front/AuthController.php中找到了一些东西,但我不确定它是否正确?

您能帮我找到插入新代码的确切位置吗?

如果您只想在前台创建帐户时执行某些操作,您可以使用钩子操作CustomerAccountAdd。在创建帐户时,它将执行:

Hook::exec('actionCustomerAccountAdd', array(
                            '_POST' => $_POST,
                            'newCustomer' => $customer
                        ));
因此,您可以创建一个使用此信息的模块,如blocknewsletter模块:

public function hookActionCustomerAccountAdd($params)
{
    // do something
}
如果您想在backoffice中添加客户时执行,则需要重写customer类。在override/classes/Customer.php中使用以下命令创建文件:

class Customer extends CustomerCore 
{
     public function add($autodate = true, $null_values = true)
     {
           $res = parent::add($autodate, $null_values);
           if($res){
                  // customer is added -> do something
           }
     }
}