Как добавить новый процесс после создания аккаунта в PrestaShop?

0

Мне нужно связать мой установленный PrestaShop с другим веб-приложением, используя его API. Этот новый процесс должен быть выполнен после создания учетной записи или после ее подтверждения (по электронной почте). Поскольку я не занимался разработкой PrestaShop, я не знаком с его папками, файлами, контроллерами и их методами. Я нашел что-то в controller/front/AuthController.php но я не уверен, что это правильно или нет?
Можете ли вы мне помочь, чтобы найти точную позицию для ввода моих новых кодов?

Теги:
prestashop

1 ответ

1

Если вы только хотите что-то выполнить, когда учетная запись создана в Front office, вы можете использовать hook actionCustomerAccountAdd. При создании учетной записи он выполнит:

Hook::exec('actionCustomerAccountAdd', array(
                            '_POST' => $_POST,
                            'newCustomer' => $customer
                        ));

Таким образом, вы можете создать модуль, который использует эту информацию, например blocknewsletter module:

public function hookActionCustomerAccountAdd($params)
{
    // do something
}

Если вы хотите выполнить, даже когда клиент добавлен в backoffice, вам необходимо переопределить класс Customer. Создайте файл в переопределении /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
           }
     }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню