Trouvé, pour ceux qui sont sous presta 8 et qui voudraient activer les alertes emails des produits hors stock même si commande autorisé, ça se passe dans ps_emailalerts.php qui se trouve dans /module/ps_emailalerts vers la ligne 618 :
public function hookDisplayProductAdditionalInfo($params)
{
if ($params['product']['minimal_quantity'] <= $params['product']['quantity']
|| !$this->customer_qty
|| !Configuration::get('PS_STOCK_MANAGEMENT')
|| Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])) {
return;
}
Il suffit de commenter || Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])) ce qui donne :
public function hookDisplayProductAdditionalInfo($params)
{
if ($params['product']['minimal_quantity'] <= $params['product']['quantity']
|| !$this->customer_qty
|| !Configuration::get('PS_STOCK_MANAGEMENT')
/* || Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])*/) {
return;
}
Sinon, un override fonctionne aussi et permet la mise à jour sans perdre la modif. Dans /override/modules, faire un dossier ps_emailalerts, et y faire un fichier ps_emailalerts.php avec à l'intérieur :
<?php
// Fichier : /override/modules/ps_emailalerts/ps_emailalerts.php
class ps_emailalertsOverride extends ps_emailalerts
{
public function hookDisplayProductAdditionalInfo($params)
{
if ($params['product']['minimal_quantity'] <= $params['product']['quantity']
|| !$this->customer_qty
|| !Configuration::get('PS_STOCK_MANAGEMENT')) {
return;
}
$context = Context::getContext();
$id_product = (int) $params['product']['id'];
$id_product_attribute = $params['product']['id_product_attribute'];
$id_customer = (int) $context->customer->id;
if ((int) $context->customer->id <= 0) {
$this->context->smarty->assign('email', 1);
} elseif (MailAlert::customerHasNotification($id_customer, $id_product, $id_product_attribute, (int) $context->shop->id)) {
$this->context->smarty->assign('has_notification', 1);
}
$this->context->smarty->assign(
[
'id_product' => $id_product,
'id_product_attribute' => $id_product_attribute,
'id_module' => $this->id,
]
);
return $this->display(__FILE__, 'product.tpl');
}
}