Jump to content

[Rech] Module d'alerte de disponibilité


Recommended Posts

Bonjour eolia,

 

Merci pour ta réponse.

En effet, il existe mais il ne s'affiche pas sur la page produit de mon site...

 

J'ai essayé de le désinstaller puis de la réinstaller mais c'est la même chose.

 

Si je choisis en BO sur la fiche produit, quantités, en cas de rupture de stock, refuser les commandes, alors le module apparaît sur la fiche produits.

Mais je souhaite qu'il s'affiche dès que le stock est à zéro, pour que les clients qui le souhaitent, soient averti du retour en stock du produit.

 

Encore merci ;)

Link to comment
Share on other sites

Ok... alors il faut modifier le code de mailalert.php en remplaçant:

	public function hookActionProductOutOfStock($params)
	{
		if (!$this->customer_qty ||
			!Configuration::get('PS_STOCK_MANAGEMENT') ||
			Product::isAvailableWhenOutOfStock($params['product']->out_of_stock))
			return;

par

	public function hookActionProductOutOfStock($params)
	{
		if (!$this->customer_qty ||
			!Configuration::get('PS_STOCK_MANAGEMENT'))
			return;
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 years later...

Bonjour @Eolia

J'ai fait la mise à jour de Ps en 1.6.1.23 et je suppose que le module mailalert a été mis à jour.

J'ai voulu refaire la modif que tu m'avais conseillé mais j'ai obtenu un écran blanc sur mon frontoffice.

J'ai remis le fichier original et le front est revenu mais les clients n'ont plus la possibilité de s'inscrire pour être prévenu du réassort d'un article.
Le code du module a sans doute changer, si tu as le temps, peux-tu y regarder svp ?

 

Cordialement,
Pilou

Link to comment
Share on other sites

Bonjour eolia,

 

Merci de ton aide !
La version du module est 3.7.0
Ligne 464 et suivantes:

	public function hookActionProductOutOfStock($params)
	{
		if (!$this->customer_qty ||
			!Configuration::get('PS_STOCK_MANAGEMENT') ||
			Product::isAvailableWhenOutOfStock($params['product']->out_of_stock))
			return;

		$context = Context::getContext();
		$id_product = (int)$params['product']->id;
		$id_product_attribute = 0;
		$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))
			return;

		$this->context->smarty->assign(
			array(
				'id_product' => $id_product,
				'id_product_attribute' => $id_product_attribute,
				'id_module' => $this->id
			)
		);

		return $this->display(__FILE__, 'product.tpl');
	}

Dans ton post du 16/11/2016, tu me proposais de remplacer :

	public function hookActionProductOutOfStock($params)
	{
		if (!$this->customer_qty ||
			!Configuration::get('PS_STOCK_MANAGEMENT') ||
			Product::isAvailableWhenOutOfStock($params['product']->out_of_stock))
			return;

Par ceci :

public function hookActionProductOutOfStock($params)
	{
		if (!$this->customer_qty ||
			!Configuration::get('PS_STOCK_MANAGEMENT'))
			return;

Mais quand j'ai fait cela, j'ai eu une page blanche sur mon front office.

J'ai essayé plusieurs fois sans succès.

Et puis, là, en écrivant ce message, je la refais et ça fonctionne, plus de page blanche...

Désolé, eolia...

Bon après-midi ;)

Edited by P i l o u (see edit history)
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...