Jump to content

Quantité de produits en stock indiqué dans le mail de confirmation de commande. {product}


Recommended Posts

Bonjour à tous,

j'ai cherche sur le forum et le net, mais pas trouvé de réponse...

J'utilise Pretashop  1.6.1.

Lorsqu'un client commande le dernier produit en stock, dans le tableau du mail de confirmation de commande, il est indiqué "en rupture".

En gros, il achète le dernier produit, et le mail est généré après son achat (quasi simultanément, mais après).

Donc en vérifiant les stocks pour générer le mail, la variable le trouve à zéro.

Comment modifier ça pour que le mail indique "en stock" au lieu de "en rupture" ?

Merci de votre aide ;)

Link to comment
Share on other sites

Regardez dans /mails/fr (ou /en) le contenu de order_conf_product_list.tpl

Nativement il n'y a pas cet affichage, donc regardez également dans le répertoire /mails de votre thème.

Il doit y avoir une variable {if $quantity <= 0 } remplacez le <= par <

Link to comment
Share on other sites

Hello,

ce ne serait pas dans classes/PaymentModule.php ?

On fonctionne avec ton module :

/* Eolia 2015 - module loi Chatel */					
						$productQuantity = (int)(Product::getQuantity((int)($product['id_product']), ($product['id_product_attribute'] ? (int)($product['id_product_attribute']) : NULL)));
						$quantityInStock = ($productQuantity - (int)($product['cart_quantity']) < 0) ? $productQuantity : (int)($product['cart_quantity']);

						$product_dispo = 'En stock';
					
						if (Module::isInstalled('blockloichatel')) {
						
							if (!class_exists('ManufacturerModel', false)) 
								include_once (_PS_ROOT_DIR_ . '/modules/blockloichatel/class/manufacturermodel.php');
								
							if (($productQuantity - (int)($product['cart_quantity'])) < 0) {
							
								$product_dispo_datas = ManufacturerModel::getManufacturerRuleByProduct($product['id_product']);
								$product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)';
							}						
						}					
						/* End Loi Chatel */

 

Link to comment
Share on other sites

Ok, donc tpl modifié, ce n'est pas $product['quantity'] mais 

image.png.a9278d0e1f9b5d59e327910e23edffd9.png

image.thumb.png.664c38e522fcbe2c4de53a4daebf12ad.png

image.png.be26ff6ae359fe12cd4d072c6cf98624.png

Le code contenu dans l'override de paiementModule met soit "En stock", soit le délai en jour s'il existe dans la fiche produit, nul part il n'y a de "En rupture" dans le code...

Avez-vous un exemple de mail avec ce "En rupture" svp ?

 

Link to comment
Share on other sites

Le code dit: délai = "En stock"

Blockloichatel dit : Si pas en stock, on récupère le nombre de jours et on remplace "En stock" par "XXXX jours"

Nulle part il n'est question de "En rupture".

Je pourrais avoir un screen d'un mail avec ce "En rupture" svp ?

Link to comment
Share on other sites

Alors c'est quoi le problème ?

Parce que le titre du post est

Citation

Quantité de produits en stock indiqué dans le mail de confirmation de commande. {product}

et le descriptif

 

Le 16/02/2022 à 5:04 PM, jujutte24 a dit :

Lorsqu'un client commande le dernier produit en stock, dans le tableau du mail de confirmation de commande, il est indiqué "en rupture".

En gros, il achète le dernier produit, et le mail est généré après son achat (quasi simultanément, mais après).

Donc en vérifiant les stocks pour générer le mail, la variable le trouve à zéro.

Comment modifier ça pour que le mail indique "en stock" au lieu de "en rupture" ?

Donc ça n'affiche jamais "En rupture"

Si vous voulez que ça affiche toujours "En stock" il suffit de commenter cette partie

/*
if (Module::isInstalled('blockloichatel')) {
						
	if (!class_exists('ManufacturerModel', false)) 
		include_once (_PS_ROOT_DIR_ . '/modules/blockloichatel/class/manufacturermodel.php');
								
	if (($productQuantity - (int)($product['cart_quantity'])) < 0) {
							
		$product_dispo_datas = ManufacturerModel::getManufacturerRuleByProduct($product['id_product']);
		$product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)';
	}						
}	
*/
/* End Loi Chatel */

 

Link to comment
Share on other sites

Sur le site, la quantité des produits en stock est visible. Si le client commande 1 produit et qui est en quantité "1" en stock, le mail de confirmation de commande qui généré en suivant est erroné.

C'est donc le dernier produit. Le mail de confirmation de commande devrait indiqué "en stock". Mais il indique  le délai d'attente des produits de ce fabricant, comme si il était en rupture. Alors qu'il devrait indiqué qu'il est en stock.

Ce qu'il se passe (je pense) c'est que le mail est généré après l'achat, donc la variable interroge le stock pour envoyer l'info par mail après l'achat. Et donc stock à 0

C'est donc peut-être là :

$product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)';

qu'il faut modifier la variable ?

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...