Pour l'envoi de mail à partir du module de gestion des stocks (catalog->stocks), voilà ce que j'ai fait pour que ça fonctionne :
Dans src/Core/Stock/StockManager.php (à partir de la ligne 309) :
J'ai mis en commentaires toute la partie d'envoi de mail aux employés.
J'ai repris juste la fonction Mail mail, en changeant $email par (string) $configuration['PS_SHOP_EMAIL'] (pour envoyer le mail à l'adresse mail du Shop renseignée dans advanced parameters -> emails, partie envoyer les email à).
// get emails on employees who have right to run stock page
/*$emails = array();
$employees = Employee::getEmployees();
foreach ($employees as $employeeData) {
$employee = new Employee($employeeData['id_employee']);
if (Access::isGranted('ROLE_MOD_TAB_ADMINSTOCKMANAGEMENT_READ', $employee->id_profile)) {
$emails[] = $employee->email;
}
}
// Send 1 email by merchant mail, because Mail::Send doesn't work with an array of recipients
foreach ($emails as $email) {
Mail::Send(
$idLang,
'productoutofstock',
Mail::l('Product out of stock', $idLang),
$templateVars,
$email,
null,
(string) $configuration['PS_SHOP_EMAIL'],
(string) $configuration['PS_SHOP_NAME'],
null,
null,
dirname(__FILE__) . '/mails/',
false,
$idShop
);
}*/
Mail::Send(
$idLang,
'productoutofstock',
Mail::l('Product out of stock', $idLang),
$templateVars,
(string) $configuration['PS_SHOP_EMAIL'],
null,
(string) $configuration['PS_SHOP_EMAIL'],
(string) $configuration['PS_SHOP_NAME'],
null,
null,
dirname(__FILE__) . '/mails/',
false,
$idShop
);
Reste à trouver la même fonction quand on change les déclinaisons de produits dans la fiche produit (Si je met une déclinaison à 0, ça enregistre bien mais ça n'envoie pas le mail) et celle quand on crée une commande (pour notifier la nouvelle commande par mail au marchand)